@witnet/sdk 1.0.14 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/package.json +9 -9
- package/dist/src/bin/helpers.d.ts +1 -0
- package/dist/src/bin/helpers.d.ts.map +1 -1
- package/dist/src/bin/helpers.js +33 -4
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +8 -5
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/DataRequestPayload.js +44 -17
- package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads.js +1 -2
- package/dist/src/lib/crypto/signer.js +12 -9
- package/dist/src/lib/crypto/transmitters.js +2 -2
- package/dist/src/lib/crypto/types.d.ts.map +1 -1
- package/dist/src/lib/crypto/types.js +1 -2
- package/dist/src/lib/radon/index.d.ts +3 -1
- package/dist/src/lib/radon/index.d.ts.map +1 -1
- package/dist/src/lib/radon/index.js +48 -30
- package/dist/src/lib/radon/types.d.ts +31 -27
- package/dist/src/lib/radon/types.d.ts.map +1 -1
- package/dist/src/lib/radon/types.js +88 -46
- package/dist/src/lib/rpc/provider.d.ts +12 -0
- package/dist/src/lib/rpc/provider.d.ts.map +1 -1
- package/dist/src/lib/rpc/provider.js +11 -1
- package/dist/witnet/assets/index.d.ts +1 -2
- package/dist/witnet/assets/modals/index.d.ts +1 -2
- package/dist/witnet/assets/modals/web3/eth.js +3 -3
- package/dist/witnet/assets/modals/web3/ipfs.d.ts +1 -2
- package/dist/witnet/assets/modals/web3/ipfs.js +11 -9
- package/dist/witnet/assets/modals/web3/wit.js +4 -4
- package/dist/witnet/assets/requests.js +6 -51
- package/package.json +9 -9
- package/src/bin/cli/inspect.js +103 -13
- package/src/bin/cli/radon.js +82 -41
- package/src/bin/cli/wallet.js +0 -1
- package/src/bin/helpers.js +36 -3
- package/src/bin/toolkit.js +1 -1
- package/witnet/assets/modals/web3/eth.js +2 -2
- package/witnet/assets/modals/web3/ipfs.js +9 -6
- package/witnet/assets/modals/web3/wit.js +3 -3
- package/witnet/assets/requests.js +5 -51
|
@@ -28,6 +28,12 @@ export interface IJsonRpcProvider {
|
|
|
28
28
|
signer?: PublicKeyHashString;
|
|
29
29
|
}): Promise<Array<UtxoMetadata>>;
|
|
30
30
|
getValueTransfer(txHash: Hash, mode?: string): Promise<any>;
|
|
31
|
+
searchDataRequests(radHash: Hash, options?: {
|
|
32
|
+
limit?: number;
|
|
33
|
+
offset?: number;
|
|
34
|
+
mode?: GetDataRequestMode;
|
|
35
|
+
reverse?: boolean;
|
|
36
|
+
}): Promise<Array<GetDataRequestFullReport | GetDataRequestEtherealReport>>;
|
|
31
37
|
sendRawTransaction(tx: any): Promise<boolean>;
|
|
32
38
|
}
|
|
33
39
|
export declare class JsonRpcProviderError extends Error {
|
|
@@ -90,6 +96,12 @@ export declare class JsonRpcProvider implements IJsonRpcProvider {
|
|
|
90
96
|
fromSigner?: PublicKeyHashString;
|
|
91
97
|
}): Promise<Array<UtxoMetadata>>;
|
|
92
98
|
getValueTransfer(txHash: Hash, mode?: string, force?: boolean): Promise<any>;
|
|
99
|
+
searchDataRequests(radHash: Hash, options?: {
|
|
100
|
+
limit?: number;
|
|
101
|
+
offset?: number;
|
|
102
|
+
mode?: GetDataRequestMode;
|
|
103
|
+
reverse?: boolean;
|
|
104
|
+
}): Promise<Array<GetDataRequestEtherealReport | GetDataRequestFullReport>>;
|
|
93
105
|
sendRawTransaction(transaction: any): Promise<boolean>;
|
|
94
106
|
supplyInfo(): Promise<SupplyInfo>;
|
|
95
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -326,6 +326,16 @@ class JsonRpcProvider {
|
|
|
326
326
|
force
|
|
327
327
|
});
|
|
328
328
|
}
|
|
329
|
+
async searchDataRequests(radHash, options) {
|
|
330
|
+
return this
|
|
331
|
+
.callApiMethod(types_2.Methods.SearchDataRequests, {
|
|
332
|
+
radHash,
|
|
333
|
+
limit: options?.limit,
|
|
334
|
+
offset: options?.offset,
|
|
335
|
+
reverse: options?.reverse
|
|
336
|
+
})
|
|
337
|
+
.then(async (entries) => Promise.all(entries.map((entry) => this.getDataRequest(entry[1], options?.mode || "ethereal", true))));
|
|
338
|
+
}
|
|
329
339
|
/// ---------------------------------------------------------------------------------------------------------------
|
|
330
340
|
async sendRawTransaction(transaction) {
|
|
331
341
|
return this.callApiMethod(types_2.Methods.Inventory, { transaction });
|
|
@@ -337,4 +347,4 @@ class JsonRpcProvider {
|
|
|
337
347
|
}
|
|
338
348
|
exports.JsonRpcProvider = JsonRpcProvider;
|
|
339
349
|
JsonRpcProvider.receipts = {};
|
|
340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBc0Q7QUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLDJDQUE4QztBQUM5QyxNQUFNLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFBO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCwyQ0FBb0Y7QUFFcEYsZ0RBQWlDO0FBRWpDLG1DQU9nQjtBQStCaEIsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBSTNDLFlBQVksTUFBYyxFQUFFLE1BQWEsRUFBRSxLQUFXO1FBQ2xELEtBQUssQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hFLE9BQU8sS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN4QixDQUFDO0NBQ0o7QUFYRCxvREFXQztBQUVELE1BQWEsZUFBZTtJQVN4Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBWTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksMEJBQTBCLENBQUMsQ0FB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LEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ1osQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFZLEVBQUUsSUFBYSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBTSxlQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDckQsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUs7U0FDUixDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsbUhBQW1IO0lBQzVHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFnQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQVUsZUFBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVELG1CQUFtQjtJQUNaLEtBQUssQ0FBQyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBYSxlQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDaEUsQ0FBQzs7QUFsVUwsMENBbVVDO0FBL1RpQix3QkFBUSxHQUFxQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZhdWx0IGFzIGF4aW9zLCBBeGlvc0hlYWRlcnMgfSBmcm9tIFwiYXhpb3NcIlxyXG5jb25zdCBqc29uQmlnID0gcmVxdWlyZSgnanNvbi1iaWdpbnQnKTtcclxuaW1wb3J0IHsgUm9vdCBhcyBQcm90b1Jvb3QgfSBmcm9tIFwicHJvdG9idWZqc1wiXHJcbmNvbnN0IHByb3RvUm9vdCA9IFByb3RvUm9vdC5mcm9tSlNPTihyZXF1aXJlKFwiLi4vLi4vLi4vd2l0bmV0L3dpdG5ldC5wcm90by5qc29uXCIpKSBcclxuY29uc3QgcHJvdG9CdWYgPSBwcm90b1Jvb3QubG9va3VwVHlwZShcIkNvbnNlbnN1c0NvbnN0YW50c1wiKVxyXG5cclxuaW1wb3J0IHsgUHVibGljS2V5LCBQdWJsaWNLZXlIYXNoU3RyaW5nLCBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tIFwiLi4vY3J5cHRvL3R5cGVzXCJcclxuaW1wb3J0IHsgRXBvY2gsIEhhc2gsIE5ldHdvcmssIFV0eG9NZXRhZGF0YSB9IGZyb20gXCIuLi90eXBlc1wiXHJcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gXCIuLi91dGlsc1wiXHJcblxyXG5pbXBvcnQge1xyXG4gICAgQmFsYW5jZSwgQmFsYW5jZTIsIEJsb2NrLCBDb25zZW5zdXNDb25zdGFudHMsIFxyXG4gICAgR2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0LCBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0LCBHZXREYXRhUmVxdWVzdE1vZGUsXHJcbiAgICBNZW1wb29sLCBNZXRob2RzLCBQZWVyQWRkciwgUHJpb3JpdGllcywgUHJvdG9jb2xJbmZvLCBcclxuICAgIFF1ZXJ5U3Rha2VzLCBRdWVyeVN0YWtpbmdQb3dlcnMsXHJcbiAgICBUcmFuc2FjdGlvblJlcG9ydCwgU2lnbmFsaW5nSW5mbywgU3Rha2VFbnRyeSwgU3Rha2luZ1Bvd2VyLCBcclxuICAgIFN1cGVyYmxvY2tSZXBvcnQsIFN1cHBseUluZm8sIFN5bmNTdGF0dXMsIFV0eG9JbmZvLFxyXG59IGZyb20gXCIuL3R5cGVzXCJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25ScGNQcm92aWRlciB7XHJcbiAgICBuZXR3b3JrPzogTmV0d29yaztcclxuICAgIG5ldHdvcmtJZD86IG51bWJlcjtcclxuICAgIFxyXG4gICAgYmxvY2tzKHNpbmNlOiBFcG9jaCwgbGltaXQ6IG51bWJlcik6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaC8qLCBQdWJsaWNLZXlIYXNoU3RyaW5nKi9dPj47XHJcbiAgICBjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+O1xyXG4gICAgaG9sZGVycyhsaW1pdD86IG51bWJlcik6IFByb21pc2U8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPj4gXHJcbiAgICBtZW1wb29sKCk6IFByb21pc2U8TWVtcG9vbD47XHJcbiAgICBwb3dlcnMocGFyYW1zPzogUXVlcnlTdGFraW5nUG93ZXJzKTogUHJvbWlzZTxBcnJheTxTdGFraW5nUG93ZXI+PjtcclxuICAgIHByaW9yaXRpZXMoKTogUHJvbWlzZTxQcmlvcml0aWVzPjtcclxuICAgIHByb3RvY29sSW5mbygpOiBQcm9taXNlPFByb3RvY29sSW5mbz47XHJcbiAgICBzdGFrZXMocGFyYW1zOiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+OyBcclxuICAgIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPjtcclxuICAgIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgd2lwcygpOiBQcm9taXNlPFNpZ25hbGluZ0luZm8+O1xyXG4gICAgd2l0bmVzc2VzKCk6IFByb21pc2U8bnVtYmVyPjtcclxuXHJcbiAgICBnZXRCYWxhbmNlKHBraDogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QmFsYW5jZTI+O1xyXG4gICAgZ2V0QmxvY2soYmxvY2tIYXNoOiBIYXNoLCBzaG93VHJhbnNhY3Rpb25IYXNoZXM/OiBib29sZWFuKTogUHJvbWlzZTxCbG9jaz47XHJcbiAgICBnZXREYXRhUmVxdWVzdChkclR4SGFzaDogSGFzaCwgbW9kZT86IEdldERhdGFSZXF1ZXN0TW9kZSk6IFByb21pc2U8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD47XHJcbiAgICBnZXRTdXBlcmJsb2NrKGVwb2NoOiBFcG9jaCk6IFByb21pc2U8U3VwZXJibG9ja1JlcG9ydD47XHJcbiAgICBnZXRUcmFuc2FjdGlvbih0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVwb3J0PjtcclxuICAgIGdldFRyYW5zYWN0aW9uUmVjZWlwdCh0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVjZWlwdD47XHJcbiAgICBnZXRVdHhvcyhwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGZpbHRlcj86IHsgbWluVmFsdWU/OiBiaWdpbnQsIHNpZ25lcj86IFB1YmxpY0tleUhhc2hTdHJpbmcgfSk6IFByb21pc2U8QXJyYXk8VXR4b01ldGFkYXRhPj47XHJcbiAgICBnZXRWYWx1ZVRyYW5zZmVyKHR4SGFzaDogSGFzaCwgbW9kZT86IHN0cmluZyk6IFByb21pc2U8YW55PjtcclxuICAgICAgICBcclxuICAgIHNlbmRSYXdUcmFuc2FjdGlvbih0eDogYW55KTogUHJvbWlzZTxib29sZWFuPjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgcmVhZG9ubHkgZXJyb3I/OiBhbnk7XHJcbiAgICByZWFkb25seSBtZXRob2Q6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHBhcmFtczogYW55W107XHJcbiAgICBjb25zdHJ1Y3RvcihtZXRob2Q6IHN0cmluZywgcGFyYW1zOiBhbnlbXSwgZXJyb3I/OiBhbnkpIHtcclxuICAgICAgICBzdXBlcihgJHttZXRob2R9KCR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0pOiAke0pTT04uc3RyaW5naWZ5KGVycm9yKX0pYClcclxuICAgICAgICBkZWxldGUgZXJyb3I/LnN0YWNrXHJcbiAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yXHJcbiAgICAgICAgdGhpcy5tZXRob2QgPSBtZXRob2RcclxuICAgICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtc1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSnNvblJwY1Byb3ZpZGVyIGltcGxlbWVudHMgSUpzb25ScGNQcm92aWRlciB7XHJcbiAgICBcclxuICAgIHB1YmxpYyByZWFkb25seSBlbmRwb2ludHM6IHN0cmluZ1tdXHJcblxyXG4gICAgcHVibGljIHN0YXRpYyByZWNlaXB0czogUmVjb3JkPEhhc2gsIFRyYW5zYWN0aW9uUmVjZWlwdD4gPSB7fTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgX2NvbnN0YW50cz86IENvbnNlbnN1c0NvbnN0YW50c1xyXG4gICAgcHJvdGVjdGVkIF9oZWFkZXJzOiBBeGlvc0hlYWRlcnM7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgSnNvblJwY1Byb3ZpZGVyIG9iamVjdCBjb25uZWN0ZWQgdG8gdGhlIGRlZmF1bHQgV2l0L1JQQyBlbmRwb2ludC5cclxuICAgICAqIERlZmF1bHRzIHRvIGh0dHBzOi8vcnBjLTAxLndpdG5ldC5pbyBpZiBubyBXSVRORVRfU0RLX1BST1ZJREVSX1VSTCBlbnZhciBpcyBzZXR0bGVkXHJcbiAgICAgKiBvbiB0aGUgZW52aXJvbm1lbnQuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBhc3luYyBmcm9tRW52KHVybD86IHN0cmluZyk6IFByb21pc2U8SnNvblJwY1Byb3ZpZGVyPiB7XHJcbiAgICAgICAgcmV0dXJuIEpzb25ScGNQcm92aWRlci5mcm9tVVJMKHVybCB8fCBwcm9jZXNzLmVudi5XSVRORVRfU0RLX1BST1ZJREVSX1VSTCB8fCBcImh0dHBzOi8vcnBjLTAxLndpdG5ldC5pb1wiKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIEpzb25ScGNQcm92aWRlciBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBzcGVjaWZpZWQgV2l0L1JQQyBlbmRwb2ludC5cclxuICAgICAqIEBwYXJhbSB1cmwgV2l0L1JQQyBlbmRwb2ludCBVUkwuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBhc3luYyBmcm9tVVJMKHVybDogc3RyaW5nKTogUHJvbWlzZTxKc29uUnBjUHJvdmlkZXI+IHtcclxuICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBKc29uUnBjUHJvdmlkZXIodXJsKVxyXG4gICAgICAgIHJldHVybiBwcm92aWRlci5jb25zdGFudHMoKS50aGVuKCgpID0+IHByb3ZpZGVyKVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHVybD86IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZW5kcG9pbnRzID0gW11cclxuICAgICAgICBpZiAodXJsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgdXJscyA9IHVybC5yZXBsYWNlQWxsKCcsJywgJzsnKS5zcGxpdCgnOycpXHJcbiAgICAgICAgICAgIHVybHMuZm9yRWFjaCh1cmwgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW3NjaGVtYSwgXSA9IHV0aWxzLnBhcnNlVVJMKHVybClcclxuICAgICAgICAgICAgICAgIGlmICghc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpICYmICFzY2hlbWEuc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFdpdG5ldC5Kc29uUnBjUHJvdmlkZXI6IHVuc3VwcG9ydGVkIFVSTCBzY2hlbWEgJHtzY2hlbWF9YClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgdGhpcy5lbmRwb2ludHMgPSB1cmxzXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lbmRwb2ludHMucHVzaChwcm9jZXNzLmVudi5XSVRORVRfU0RLX1BST1ZJREVSX1VSTCB8fCBcImh0dHBzOi8vcnBjLTAxLndpdG5ldC5pb1wiKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9oZWFkZXJzID0gbmV3IEF4aW9zSGVhZGVycyh7IFxyXG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbmV0d29yaygpOiBOZXR3b3JrIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpZiAodGhpcy5fY29uc3RhbnRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwcGluZ19jb21taXR0ZWVbMF0uc3RhcnRzV2l0aCgnd2l0JykgPyBcIm1haW5uZXRcIjogXCJ0ZXN0bmV0XCJcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbmV0d29ya0lkKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbnN0YW50cykge1xyXG4gICAgICAgICAgICBjb25zdCBvYmo6IGFueSA9IHt9XHJcbiAgICAgICAgICAgIG9iai5hY3Rpdml0eVBlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5hY3Rpdml0eV9wZXJpb2Q7XHJcbiAgICAgICAgICAgIG9iai5ib290c3RyYXBIYXNoID0geyBTSEEyNTY6IEFycmF5LmZyb20odXRpbHMuZnJvbUhleFN0cmluZyh0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwX2hhc2gpKSB9XHJcbiAgICAgICAgICAgIG9iai5ib290c3RyYXBwaW5nQ29tbWl0dGVlID0gdGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcHBpbmdfY29tbWl0dGVlXHJcbiAgICAgICAgICAgIG9iai5jaGVja3BvaW50WmVyb1RpbWVzdGFtcCA9IHRoaXMuX2NvbnN0YW50cy5jaGVja3BvaW50X3plcm9fdGltZXN0YW1wXHJcbiAgICAgICAgICAgIG9iai5jaGVja3BvaW50c1BlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5jaGVja3BvaW50c19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLmNvbGxhdGVyYWxBZ2UgPSB0aGlzLl9jb25zdGFudHMuY29sbGF0ZXJhbF9hZ2VcclxuICAgICAgICAgICAgb2JqLmNvbGxhdGVyYWxNaW5pbXVtID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfbWluaW11bVxyXG4gICAgICAgICAgICBvYmouZXBvY2hzV2l0aE1pbmltdW1EaWZmaWN1bHR5ID0gdGhpcy5fY29uc3RhbnRzLmVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eVxyXG4gICAgICAgICAgICBvYmouZXh0cmFSb3VuZHMgPSB0aGlzLl9jb25zdGFudHMuZXh0cmFfcm91bmRzXHJcbiAgICAgICAgICAgIG9iai5nZW5lc2lzSGFzaCA9IHsgU0hBMjU2OiBBcnJheS5mcm9tKHV0aWxzLmZyb21IZXhTdHJpbmcodGhpcy5fY29uc3RhbnRzLmdlbmVzaXNfaGFzaCkpIH1cclxuICAgICAgICAgICAgb2JqLmhhbHZpbmdQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuaGFsdmluZ19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLmluaXRpYWxCbG9ja1Jld2FyZCA9IHRoaXMuX2NvbnN0YW50cy5pbml0aWFsX2Jsb2NrX3Jld2FyZFxyXG4gICAgICAgICAgICBvYmoubWF4RHJXZWlnaHQgPSB0aGlzLl9jb25zdGFudHMubWF4X2RyX3dlaWdodFxyXG4gICAgICAgICAgICBvYmoubWF4VnRXZWlnaHQgPSB0aGlzLl9jb25zdGFudHMubWF4X3Z0X3dlaWdodFxyXG4gICAgICAgICAgICBpZiAodGhpcy5fY29uc3RhbnRzLm1pbmltdW1fZGlmZmljdWx0eSA+IDApIG9iai5taW5pbXVtRGlmZmljdWx0eSA9IHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHlcclxuICAgICAgICAgICAgb2JqLm1pbmluZ0JhY2t1cEZhY3RvciA9IHRoaXMuX2NvbnN0YW50cy5taW5pbmdfYmFja3VwX2ZhY3RvclxyXG4gICAgICAgICAgICBvYmoubWluaW5nUmVwbGljYXRpb25GYWN0b3IgPSB0aGlzLl9jb25zdGFudHMubWluaW5nX3JlcGxpY2F0aW9uX2ZhY3RvclxyXG4gICAgICAgICAgICBvYmoucmVwdXRhdGlvbkV4cGlyZUFscGhhRGlmZiA9IHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX2V4cGlyZV9hbHBoYV9kaWZmXHJcbiAgICAgICAgICAgIG9iai5yZXB1dGF0aW9uSXNzdWFuY2UgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZVxyXG4gICAgICAgICAgICBvYmoucmVwdXRhdGlvbklzc3VhbmNlU3RvcCA9IHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX2lzc3VhbmNlX3N0b3BcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25QZW5hbGl6YXRpb25GYWN0b3IgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9wZW5hbGl6YXRpb25fZmFjdG9yXHJcbiAgICAgICAgICAgIG9iai5zdXBlcmJsb2NrQ29tbWl0dGVlRGVjcmVhc2luZ1BlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3BlcmlvZFxyXG4gICAgICAgICAgICBvYmouc3VwZXJibG9ja0NvbW1pdHRlZURlY3JlYXNpbmdTdGVwID0gdGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfc3RlcFxyXG4gICAgICAgICAgICBvYmouc3VwZXJibG9ja1BlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX3BlcmlvZFxyXG4gICAgICAgICAgICBvYmouc3VwZXJibG9ja1NpZ25pbmdDb21taXR0ZWVTaXplID0gdGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfc2lnbmluZ19jb21taXR0ZWVfc2l6ZVxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhvYmopXHJcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBwcm90b0J1Zi5mcm9tT2JqZWN0KG9iailcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cobWVzc2FnZSlcclxuICAgICAgICAgICAgY29uc3QgYnVmZmVyID0gcHJvdG9CdWYuZW5jb2RlKG1lc3NhZ2UpLmZpbmlzaCgpXHJcbiAgICAgICAgICAgIGNvbnN0IGhhc2ggPSB1dGlscy50b0hleFN0cmluZyh1dGlscy5zaGEyNTYoYnVmZmVyKSkgXHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGhhc2gpXHJcbiAgICAgICAgICAgIGNvbnN0IGhleCA9IGhhc2guc3Vic3RyaW5nKDAsIDQpXHJcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChoZXgsIDE2KVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwcm90ZWN0ZWQgbmV4dFVSTCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVuZHBvaW50c1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLmVuZHBvaW50cy5sZW5ndGgpXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgY2FsbEFwaU1ldGhvZDxUPihtZXRob2Q6IHN0cmluZywgcGFyYW1zPzogQXJyYXk8YW55PiB8IGFueSApOiBQcm9taXNlPEVycm9yIHwgYW55PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5uZXh0VVJMKClcclxuICAgICAgICByZXR1cm4gYXhpb3NcclxuICAgICAgICAgICAgLnBvc3QoXHJcbiAgICAgICAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAganNvbnJwYzogJzIuMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICsgbmV3IERhdGUoKSxcclxuICAgICAgICAgICAgICAgICAgICBtZXRob2QsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybVJlc3BvbnNlOiBmdW5jdGlvbihyZXNwb25zZSkgeyByZXR1cm4ganNvbkJpZygpLnBhcnNlKHJlc3BvbnNlKSB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICkudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlPy5lcnJvciB8fCByZXNwb25zZT8uZGF0YT8uZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSnNvblJwY1Byb3ZpZGVyRXJyb3IobWV0aG9kLCBwYXJhbXMsIHJlc3BvbnNlPy5lcnJvciB8fCByZXNwb25zZT8uZGF0YT8uZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSByZXR1cm4gcmVzcG9uc2U/LmRhdGE/LnJlc3VsdCBhcyBUO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIGxpc3Qgb2YgYmxvY2sgaGFzaGVzIHdpdGhpbiBnaXZlbiByYW5nZSwgYXMga25vd24gYnkgdGhlIHByb3ZpZGVyLlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHNpbmNlIC0gRmlyc3QgZXBvY2ggZm9yIHdoaWNoIHRvIHJldHVybiBibG9jayBoYXNoZXMuIElmIG5lZ2F0aXZlLCByZXR1cm4gYmxvY2sgaGFzaGVzIGZyb20gdGhlIGxhc3QgbiBlcG9jaHMuXHJcbiAgICAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxpbWl0IC0gTnVtYmVyIG9mIGJsb2NrIGhhc2hlcyB0byByZXR1cm4uIElmIG5lZ2F0aXZlLCByZXR1cm4gdGhlIGxhc3QgbiBibG9jayBoYXNoZXMgZnJvbSB0aGlzIGVwb2NoIHJhbmdlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgYmxvY2tzKHNpbmNlOiBudW1iZXIgPSAtMSwgbGltaXQ6IG51bWJlciA9IDEsKTogUHJvbWlzZTxBcnJheTxbbnVtYmVyLCBIYXNoXT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFtOdW1iZXIsIEhhc2hdPihNZXRob2RzLkdldEJsb2NrQ2hhaW4sIFtzaW5jZSwgbGltaXQsIF0pO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGNvbnNlbnN1cyBjb25zdGFudHMgdXNlZCBieSB0aGUgbm9kZVxyXG4gICAgcHVibGljIGFzeW5jIGNvbnN0YW50cygpOiBQcm9taXNlPENvbnNlbnN1c0NvbnN0YW50cz4ge1xyXG4gICAgICAgIGlmICghdGhpcy5fY29uc3RhbnRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxDb25zZW5zdXNDb25zdGFudHM+KE1ldGhvZHMuR2V0Q29uc2Vuc3VzQ29uc3RhbnRzKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oKGNvbnN0YW50czogQ29uc2Vuc3VzQ29uc3RhbnRzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uc3RhbnRzID0gY29uc3RhbnRzXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN0YW50c1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RhbnRzXHJcbiAgICAgICAgfSAgICBcclxuICAgIH1cclxuXHJcbiAgICAvLy8gR2V0IGxpbWl0ZWQgbGlzdCBvZiBjdXJyZW50bHkgdG9wIGhvbGRlcnMsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cclxuICAgIHB1YmxpYyBhc3luYyBob2xkZXJzKG1pbkJhbGFuY2UgPSAwLCBtYXhCYWxhbmNlPzogbnVtYmVyKTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2U+PihNZXRob2RzLkdldEJhbGFuY2UyLCB7XHJcbiAgICAgICAgICAgICAgICBhbGw6IHtcclxuICAgICAgICAgICAgICAgICAgICBtaW5CYWxhbmNlLFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLiBtYXhCYWxhbmNlID8geyBtYXhCYWxhbmNlIH0gOiB7fVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KS50aGVuKChiYWxhbmNlczogUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmV2ZXJzZUNvbXBhcmUgPSAoYTogQmFsYW5jZTIsIGI6IEJhbGFuY2UyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYV90b3QgPSBhLmxvY2tlZCArIGEudW5sb2NrZWQgKyBhLnN0YWtlZFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJfdG90ID0gYi5sb2NrZWQgKyBiLnVubG9ja2VkICsgYi5zdGFrZWRcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYV90b3QgPCBiX3RvdCkgcmV0dXJuIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYV90b3QgPiBiX3RvdCkgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGJhbGFuY2VzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogKHN0cmluZyB8IEJhbGFuY2UyKVtdLCBiOiAoc3RyaW5nIHwgQmFsYW5jZTIpW10pID0+IHJldmVyc2VDb21wYXJlKGFbMV0gYXMgQmFsYW5jZTIsIGJbMV0gYXMgQmFsYW5jZTIpKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBsaXN0IG9mIGtub3duIHBlZXJzXHJcbiAgICBwdWJsaWMgYXN5bmMga25vd25QZWVycygpOiBQcm9taXNlPEFycmF5PFBlZXJBZGRyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8UGVlckFkZHI+PihNZXRob2RzLktub3duUGVlcnMpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGFsbCB0aGUgcGVuZGluZyB0cmFuc2FjdGlvbnNcclxuICAgIHB1YmxpYyBhc3luYyBtZW1wb29sKCk6IFByb21pc2U8TWVtcG9vbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8TWVtcG9vbD4oTWV0aG9kcy5HZXRNZW1wb29sKTtcclxuICAgIH0gICAgXHJcbiAgICBcclxuICAgIC8vLyBHZXQgcHJpb3JpdHkgYW5kIHRpbWUtdG8tYmxvY2sgZXN0aW1hdGlvbnMgZm9yIGRpZmZlcmVudCBwcmlvcml0eSB0aWVycy5cclxuICAgIHB1YmxpYyBhc3luYyBwcmlvcml0aWVzKCk6IFByb21pc2U8UHJpb3JpdGllcz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8UHJpb3JpdGllcz4oTWV0aG9kcy5Qcmlvcml0eSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBpbmZvcm1hdGlvbiBhYm91dCBwcm90b2NvbCB2ZXJzaW9ucyBhbmQgd2hpY2ggdmVyc2lvbiBpcyBjdXJyZW50bHkgYmVpbmcgZW5mb3JjZWQuXHJcbiAgICBwdWJsaWMgYXN5bmMgcHJvdG9jb2xJbmZvKCk6IFByb21pc2U8UHJvdG9jb2xJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxQcm90b2NvbEluZm8+KE1ldGhvZHMuUHJvdG9jb2wpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgYSBmdWxsIGxpc3Qgb2Ygc3Rha2luZyBwb3dlcnMgb3JkZXJlZCBieSByYW5rXHJcbiAgICBwdWJsaWMgYXN5bmMgcG93ZXJzKHF1ZXJ5PzogUXVlcnlTdGFraW5nUG93ZXJzKTogUHJvbWlzZTxBcnJheTxTdGFraW5nUG93ZXI+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxTdGFraW5nUG93ZXI+PihNZXRob2RzLlF1ZXJ5U3Rha2luZ1Bvd2VycywgcXVlcnkpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgYSBmdWxsIGxpc3Qgb2YgY3VycmVudCBzdGFrZSBlbnRyaWVzICBRdWVyeSB0aGUgYW1vdW50IG9mIG5hbm93aXRzIHN0YWtlZCBieSBhbiBhZGRyZXNzLlxyXG4gICAgcHVibGljIGFzeW5jIHN0YWtlcyhxdWVyeT86IFF1ZXJ5U3Rha2VzKTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPEFycmF5PFN0YWtlRW50cnk+PihNZXRob2RzLlF1ZXJ5U3Rha2VzLCBxdWVyeSlcclxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyPy5lcnJvcj8ubWVzc2FnZSAmJiBlcnIuZXJyb3IubWVzc2FnZS5pbmRleE9mKFwibm90IHJlZ2lzdGVyZWRcIikgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBub2RlIHN0YXR1c1xyXG4gICAgcHVibGljIGFzeW5jIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxTeW5jU3RhdHVzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTeW5jU3RhdHVzPihNZXRob2RzLlN5bmNTdGF0dXMpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgYXN5bmMgd2lwcygpOiBQcm9taXNlPFNpZ25hbGluZ0luZm8+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFNpZ25hbGluZ0luZm8+KE1ldGhvZHMuU2lnbmFsaW5nSW5mbylcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgd2l0bmVzc2VzKF9zaW5jZT86IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICAgICAgLy8gdG9kbzogd2l0bmVzc2VzIGVzdGltYXRpb24gc2hvdWxkIGluc3RlYWQgYmUgY29tcHV0ZWQgaW4gcHJvcG9ydGlvbiB0b1xyXG4gICAgICAgIC8vICAgICAgIHJhdGlvIG9mIHZhbGlkYXRvcnMgdGhhdCBoYXZlIGhvbmVzdGx5IHdpdG5lc3NlZCBkYXRhIHJlcXVlc3RzXHJcbiAgICAgICAgLy8gICAgICAgdnMgdmFsaWRhdG9ycyB0aGF0IGhhdmUgaG9uZXN0bHkgd2l0bmVzc2VkIGRhdGEgcmVxdWVzdHMgYW5kXHJcbiAgICAgICAgLy8gICAgICAgbmV2ZXIgcmV2ZWFsZWQgXCJpIHBhc3NlZFwiIG91dCBvZiBtYWpvcml0eSwgXHJcbiAgICAgICAgLy8gICAgICAgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgZXBvY2hzLlxyXG4gICAgICAgIGxldCBjZW5zdXMgPSAwXHJcbiAgICAgICAgcmV0dXJuIHRoaXMgXHJcbiAgICAgICAgICAgIC5zdGFrZXMoeyBwYXJhbXM6IHsgZGlzdGluY3Q6IHRydWUgfX0pIC8vIHRvZG86IGltcGxlbWVudCBgY291bnRgIGZsYWcgb24gSUpzb25ScGNQcm92aWRlci5zdGFrZXMoKVxyXG4gICAgICAgICAgICAudGhlbihyZWNvcmRzID0+IHtcclxuICAgICAgICAgICAgICAgIGNlbnN1cyA9IHJlY29yZHMubGVuZ3RoXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ibG9ja3MoLTE2LCAxNikgLy8gdG9kbzogYmxvY2tzKCkgc2hvdWxkIHJldHVybiBlcG9jaCwgaGFzaCBhbmQgdmFsaWRhdG9yIHBraCBmb3IgZWFjaCBibG9ja1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihyZWNvcmRzID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChyZWNvcmRzLm1hcChyZWNvcmQgPT4gdGhpcy5nZXRCbG9jayhyZWNvcmRbMV0pKSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4oYmxvY2tzID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRvcnM6IEFycmF5PFB1YmxpY0tleUhhc2hTdHJpbmc+ID0gW11cclxuICAgICAgICAgICAgICAgIGJsb2Nrcy5tYXAoYmxvY2sgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBraCA9IFB1YmxpY0tleS5mcm9tUHJvdG9idWYoYmxvY2suYmxvY2tfc2lnLnB1YmxpY19rZXkpLmhhc2goKS50b0JlY2gzMih0aGlzLm5ldHdvcmspXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0b3JzLmluY2x1ZGVzKHBraCkpIHZhbGlkYXRvcnMucHVzaChwa2gpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbihcclxuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICBNYXRoLmZsb29yKHRoaXMubmV0d29yayA9PT0gXCJ0ZXN0bmV0XCIgPyBjZW5zdXMgLyAyIDogY2Vuc3VzIC8gNClcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgLy8vIEdldCBiYWxhbmNlXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QmFsYW5jZShwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcpOiBQcm9taXNlPEJhbGFuY2UyPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8QmFsYW5jZTI+KE1ldGhvZHMuR2V0QmFsYW5jZTIsIHsgcGtoIH0pXHJcbiAgICAgICAgICAgIC50aGVuKChiYWxhbmNlOiBCYWxhbmNlMikgPT4gKHtcclxuICAgICAgICAgICAgICAgIGxvY2tlZDogQmlnSW50KGJhbGFuY2UubG9ja2VkKSxcclxuICAgICAgICAgICAgICAgIHN0YWtlZDogQmlnSW50KGJhbGFuY2Uuc3Rha2VkKSxcclxuICAgICAgICAgICAgICAgIHVubG9ja2VkOiBCaWdJbnQoYmFsYW5jZS51bmxvY2tlZCksXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEdldCBibG9jayBpbmZvIGJ5IGhhc2hcclxuICAgICAqIEBwYXJhbSB7SGFzaH0gYmxvY2tIYXNoIC0gSGFzaCBvZiB0aGUgYmxvY2sgdGhhdCB3ZSBhcmUgcXVlcnlpbmcuXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNob3dUcmFuc2FjdGlvbkhhc2ggLSBXaGV0aGVyIHRvIGluY2x1ZGUgYW4gZXh0cmEgZmllbGQgY29udGFpbmluZyBhcnJheSBvZiB0cmFuc2FjdGlvbiBoYXNoZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBnZXRCbG9jayhcclxuICAgICAgICAgICAgYmxvY2tIYXNoOiBIYXNoLFxyXG4gICAgICAgICAgICBzaG93VHJhbnNhY3Rpb25IYXNoID0gZmFsc2UsXHJcbiAgICAgICAgKTogUHJvbWlzZTxCbG9jaz5cclxuICAgIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEJsb2NrPihNZXRob2RzLkdldEJsb2NrLCBbYmxvY2tIYXNoLCBzaG93VHJhbnNhY3Rpb25IYXNoLCBdKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGF0YVJlcXVlc3QoZHJUeEhhc2g6IEhhc2gsIG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGUsIGZvcmNlID0gZmFsc2UpOiBQcm9taXNlPEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+KE1ldGhvZHMuR2V0RGF0YVJlcXVlc3QsIHtcclxuICAgICAgICAgICAgaGFzaDogZHJUeEhhc2gsXHJcbiAgICAgICAgICAgIG1vZGU6IG1vZGUgfHwgXCJmdWxsXCIsXHJcbiAgICAgICAgICAgIGZvcmNlXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCB0aGUgYmxvY2tzIHRoYXQgcGVydGFpbiB0byB0aGUgc3VwZXJibG9jayBpbmRleFxyXG4gICAgcHVibGljIGFzeW5jIGdldFN1cGVyYmxvY2soZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxTdXBlcmJsb2NrUmVwb3J0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBlcmJsb2NrUmVwb3J0PihNZXRob2RzLkdldFN1cGVyYmxvY2ssIHsgXCJibG9ja19lcG9jaFwiOiBlcG9jaCB9KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uKHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXBvcnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFRyYW5zYWN0aW9uUmVwb3J0PihNZXRob2RzLkdldFRyYW5zYWN0aW9uLCBbdHhIYXNoLCBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZWNlaXB0PiB7XHJcbiAgICAgICAgLy8gdG9kbzogZmV0Y2gvdXBkYXRlIHJlY2VpcHQgZnJvbSBwcm92aWRlciwgaWYgbm90IGNhY2hlZFxyXG4gICAgICAgIHJldHVybiBKc29uUnBjUHJvdmlkZXIucmVjZWlwdHNbdHhIYXNoXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHV0eG9zXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXR4b3MocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBmaWx0ZXI/OiB7IG1pblZhbHVlPzogYmlnaW50IHwgc3RyaW5nLCBmcm9tU2lnbmVyPzogUHVibGljS2V5SGFzaFN0cmluZyB9KTogUHJvbWlzZTxBcnJheTxVdHhvTWV0YWRhdGE+PiB7XHJcbiAgICAgICAgaWYgKGZpbHRlcikge1xyXG4gICAgICAgICAgICBmaWx0ZXIubWluVmFsdWUgPSBmaWx0ZXI/Lm1pblZhbHVlPy50b1N0cmluZygpID8/IFwiMFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxVdHhvSW5mbz4oTWV0aG9kcy5HZXRVdHhvSW5mbywgW3BraCwgLi4uKGZpbHRlciA/IFtmaWx0ZXJdOiBbXSldKVxyXG4gICAgICAgICAgICAudGhlbigocmVzdWx0OiBVdHhvSW5mbykgPT4gcmVzdWx0LnV0eG9zLm1hcCgodXR4bzogVXR4b01ldGFkYXRhKSA9PiAoeyBcclxuICAgICAgICAgICAgICAgIC4uLnV0eG8sIFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCh1dHhvLnZhbHVlKVxyXG4gICAgICAgICAgICB9KSkpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFZhbHVlVHJhbnNmZXIodHhIYXNoOiBIYXNoLCBtb2RlPzogc3RyaW5nLCBmb3JjZSA9IGZhbHNlKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPGFueT4oTWV0aG9kcy5HZXRWYWx1ZVRyYW5zZmVyLCB7XHJcbiAgICAgICAgICAgIGhhc2g6IHR4SGFzaCxcclxuICAgICAgICAgICAgbW9kZTogbW9kZSxcclxuICAgICAgICAgICAgZm9yY2VcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBwdWJsaWMgYXN5bmMgc2VuZFJhd1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuSW52ZW50b3J5LCB7IHRyYW5zYWN0aW9uIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLy8vIEdldCBzdXBwbHkgaW5mb1xyXG4gICAgcHVibGljIGFzeW5jIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBwbHlJbmZvPihNZXRob2RzLkdldFN1cHBseUluZm8pXHJcbiAgICB9XHJcbn0iXX0=
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBc0Q7QUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLDJDQUE4QztBQUM5QyxNQUFNLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFBO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCwyQ0FBb0Y7QUFFcEYsZ0RBQWlDO0FBRWpDLG1DQU9nQjtBQXNDaEIsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBSTNDLFlBQVksTUFBYyxFQUFFLE1BQWEsRUFBRSxLQUFXO1FBQ2xELEtBQUssQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hFLE9BQU8sS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN4QixDQUFDO0NBQ0o7QUFYRCxvREFXQztBQUVELE1BQWEsZUFBZTtJQVN4Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBWTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksMEJBQTBCLENBQUMsQ0FB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VUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWEsZUFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7O0FBdFZMLDBDQXVWQztBQW5WaUIsd0JBQVEsR0FBcUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBheGlvcywgQXhpb3NIZWFkZXJzIH0gZnJvbSBcImF4aW9zXCJcclxuY29uc3QganNvbkJpZyA9IHJlcXVpcmUoJ2pzb24tYmlnaW50Jyk7XHJcbmltcG9ydCB7IFJvb3QgYXMgUHJvdG9Sb290IH0gZnJvbSBcInByb3RvYnVmanNcIlxyXG5jb25zdCBwcm90b1Jvb3QgPSBQcm90b1Jvb3QuZnJvbUpTT04ocmVxdWlyZShcIi4uLy4uLy4uL3dpdG5ldC93aXRuZXQucHJvdG8uanNvblwiKSkgXHJcbmNvbnN0IHByb3RvQnVmID0gcHJvdG9Sb290Lmxvb2t1cFR5cGUoXCJDb25zZW5zdXNDb25zdGFudHNcIilcclxuXHJcbmltcG9ydCB7IFB1YmxpY0tleSwgUHVibGljS2V5SGFzaFN0cmluZywgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSBcIi4uL2NyeXB0by90eXBlc1wiXHJcbmltcG9ydCB7IEVwb2NoLCBIYXNoLCBOZXR3b3JrLCBVdHhvTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIlxyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi4vdXRpbHNcIlxyXG5cclxuaW1wb3J0IHtcclxuICAgIEJhbGFuY2UsIEJhbGFuY2UyLCBCbG9jaywgQ29uc2Vuc3VzQ29uc3RhbnRzLCBcclxuICAgIEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCwgR2V0RGF0YVJlcXVlc3RNb2RlLFxyXG4gICAgTWVtcG9vbCwgTWV0aG9kcywgUGVlckFkZHIsIFByaW9yaXRpZXMsIFByb3RvY29sSW5mbywgXHJcbiAgICBRdWVyeVN0YWtlcywgUXVlcnlTdGFraW5nUG93ZXJzLFxyXG4gICAgVHJhbnNhY3Rpb25SZXBvcnQsIFNpZ25hbGluZ0luZm8sIFN0YWtlRW50cnksIFN0YWtpbmdQb3dlciwgXHJcbiAgICBTdXBlcmJsb2NrUmVwb3J0LCBTdXBwbHlJbmZvLCBTeW5jU3RhdHVzLCBVdHhvSW5mbyxcclxufSBmcm9tIFwiLi90eXBlc1wiXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElKc29uUnBjUHJvdmlkZXIge1xyXG4gICAgbmV0d29yaz86IE5ldHdvcms7XHJcbiAgICBuZXR3b3JrSWQ/OiBudW1iZXI7XHJcbiAgICBcclxuICAgIGJsb2NrcyhzaW5jZTogRXBvY2gsIGxpbWl0OiBudW1iZXIpOiBQcm9taXNlPEFycmF5PFtudW1iZXIsIEhhc2gvKiwgUHVibGljS2V5SGFzaFN0cmluZyovXT4+O1xyXG4gICAgY29uc3RhbnRzKCk6IFByb21pc2U8Q29uc2Vuc3VzQ29uc3RhbnRzPjtcclxuICAgIGhvbGRlcnMobGltaXQ/OiBudW1iZXIpOiBQcm9taXNlPFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4+IFxyXG4gICAgbWVtcG9vbCgpOiBQcm9taXNlPE1lbXBvb2w+O1xyXG4gICAgcG93ZXJzKHBhcmFtcz86IFF1ZXJ5U3Rha2luZ1Bvd2Vycyk6IFByb21pc2U8QXJyYXk8U3Rha2luZ1Bvd2VyPj47XHJcbiAgICBwcmlvcml0aWVzKCk6IFByb21pc2U8UHJpb3JpdGllcz47XHJcbiAgICBwcm90b2NvbEluZm8oKTogUHJvbWlzZTxQcm90b2NvbEluZm8+O1xyXG4gICAgc3Rha2VzKHBhcmFtczogUXVlcnlTdGFrZXMpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PjsgXHJcbiAgICBzdXBwbHlJbmZvKCk6IFByb21pc2U8U3VwcGx5SW5mbz47XHJcbiAgICBzeW5jU3RhdHVzKCk6IFByb21pc2U8YW55PjtcclxuICAgIHdpcHMoKTogUHJvbWlzZTxTaWduYWxpbmdJbmZvPjtcclxuICAgIHdpdG5lc3NlcygpOiBQcm9taXNlPG51bWJlcj47XHJcblxyXG4gICAgZ2V0QmFsYW5jZShwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcpOiBQcm9taXNlPEJhbGFuY2UyPjtcclxuICAgIGdldEJsb2NrKGJsb2NrSGFzaDogSGFzaCwgc2hvd1RyYW5zYWN0aW9uSGFzaGVzPzogYm9vbGVhbik6IFByb21pc2U8QmxvY2s+O1xyXG4gICAgZ2V0RGF0YVJlcXVlc3QoZHJUeEhhc2g6IEhhc2gsIG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGUpOiBQcm9taXNlPEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+O1xyXG4gICAgZ2V0U3VwZXJibG9jayhlcG9jaDogRXBvY2gpOiBQcm9taXNlPFN1cGVyYmxvY2tSZXBvcnQ+O1xyXG4gICAgZ2V0VHJhbnNhY3Rpb24odHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlcG9ydD47XHJcbiAgICBnZXRUcmFuc2FjdGlvblJlY2VpcHQodHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlY2VpcHQ+O1xyXG4gICAgZ2V0VXR4b3MocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBmaWx0ZXI/OiB7IG1pblZhbHVlPzogYmlnaW50LCBzaWduZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nIH0pOiBQcm9taXNlPEFycmF5PFV0eG9NZXRhZGF0YT4+O1xyXG4gICAgZ2V0VmFsdWVUcmFuc2Zlcih0eEhhc2g6IEhhc2gsIG1vZGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcblxyXG4gICAgc2VhcmNoRGF0YVJlcXVlc3RzKHJhZEhhc2g6IEhhc2gsIG9wdGlvbnM/OiB7IFxyXG4gICAgICAgIGxpbWl0PzogbnVtYmVyLCBcclxuICAgICAgICBvZmZzZXQ/OiBudW1iZXIsIFxyXG4gICAgICAgIG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGUsIFxyXG4gICAgICAgIHJldmVyc2U/OiBib29sZWFuIFxyXG4gICAgfSk6IFByb21pc2U8QXJyYXk8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD4+O1xyXG4gICAgICAgIFxyXG4gICAgc2VuZFJhd1RyYW5zYWN0aW9uKHR4OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSnNvblJwY1Byb3ZpZGVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcbiAgICByZWFkb25seSBlcnJvcj86IGFueTtcclxuICAgIHJlYWRvbmx5IG1ldGhvZDogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgcGFyYW1zOiBhbnlbXTtcclxuICAgIGNvbnN0cnVjdG9yKG1ldGhvZDogc3RyaW5nLCBwYXJhbXM6IGFueVtdLCBlcnJvcj86IGFueSkge1xyXG4gICAgICAgIHN1cGVyKGAke21ldGhvZH0oJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfSk6ICR7SlNPTi5zdHJpbmdpZnkoZXJyb3IpfSlgKVxyXG4gICAgICAgIGRlbGV0ZSBlcnJvcj8uc3RhY2tcclxuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3JcclxuICAgICAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZFxyXG4gICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uUnBjUHJvdmlkZXIgaW1wbGVtZW50cyBJSnNvblJwY1Byb3ZpZGVyIHtcclxuICAgIFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVuZHBvaW50czogc3RyaW5nW11cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHJlY2VpcHRzOiBSZWNvcmQ8SGFzaCwgVHJhbnNhY3Rpb25SZWNlaXB0PiA9IHt9O1xyXG5cclxuICAgIHByb3RlY3RlZCBfY29uc3RhbnRzPzogQ29uc2Vuc3VzQ29uc3RhbnRzXHJcbiAgICBwcm90ZWN0ZWQgX2hlYWRlcnM6IEF4aW9zSGVhZGVycztcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBKc29uUnBjUHJvdmlkZXIgb2JqZWN0IGNvbm5lY3RlZCB0byB0aGUgZGVmYXVsdCBXaXQvUlBDIGVuZHBvaW50LlxyXG4gICAgICogRGVmYXVsdHMgdG8gaHR0cHM6Ly9ycGMtMDEud2l0bmV0LmlvIGlmIG5vIFdJVE5FVF9TREtfUFJPVklERVJfVVJMIGVudmFyIGlzIHNldHRsZWRcclxuICAgICAqIG9uIHRoZSBlbnZpcm9ubWVudC5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21FbnYodXJsPzogc3RyaW5nKTogUHJvbWlzZTxKc29uUnBjUHJvdmlkZXI+IHtcclxuICAgICAgICByZXR1cm4gSnNvblJwY1Byb3ZpZGVyLmZyb21VUkwodXJsIHx8IHByb2Nlc3MuZW52LldJVE5FVF9TREtfUFJPVklERVJfVVJMIHx8IFwiaHR0cHM6Ly9ycGMtMDEud2l0bmV0LmlvXCIpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgSnNvblJwY1Byb3ZpZGVyIG9iamVjdCBjb25uZWN0ZWQgdG8gdGhlIHNwZWNpZmllZCBXaXQvUlBDIGVuZHBvaW50LlxyXG4gICAgICogQHBhcmFtIHVybCBXaXQvUlBDIGVuZHBvaW50IFVSTC5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGZyb21VUkwodXJsOiBzdHJpbmcpOiBQcm9taXNlPEpzb25ScGNQcm92aWRlcj4ge1xyXG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IEpzb25ScGNQcm92aWRlcih1cmwpXHJcbiAgICAgICAgcmV0dXJuIHByb3ZpZGVyLmNvbnN0YW50cygpLnRoZW4oKCkgPT4gcHJvdmlkZXIpXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IodXJsPzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5lbmRwb2ludHMgPSBbXVxyXG4gICAgICAgIGlmICh1cmwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmxzID0gdXJsLnJlcGxhY2VBbGwoJywnLCAnOycpLnNwbGl0KCc7JylcclxuICAgICAgICAgICAgdXJscy5mb3JFYWNoKHVybCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbc2NoZW1hLCBdID0gdXRpbHMucGFyc2VVUkwodXJsKVxyXG4gICAgICAgICAgICAgICAgaWYgKCFzY2hlbWEuc3RhcnRzV2l0aChcImh0dHA6Ly9cIikgJiYgIXNjaGVtYS5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIikpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBFcnJvcihgV2l0bmV0Lkpzb25ScGNQcm92aWRlcjogdW5zdXBwb3J0ZWQgVVJMIHNjaGVtYSAke3NjaGVtYX1gKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0aGlzLmVuZHBvaW50cyA9IHVybHNcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVuZHBvaW50cy5wdXNoKHByb2Nlc3MuZW52LldJVE5FVF9TREtfUFJPVklERVJfVVJMIHx8IFwiaHR0cHM6Ly9ycGMtMDEud2l0bmV0LmlvXCIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2hlYWRlcnMgPSBuZXcgQXhpb3NIZWFkZXJzKHsgXHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBuZXR3b3JrKCk6IE5ldHdvcmsgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9jb25zdGFudHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0YW50cy5ib290c3RyYXBwaW5nX2NvbW1pdHRlZVswXS5zdGFydHNXaXRoKCd3aXQnKSA/IFwibWFpbm5ldFwiOiBcInRlc3RuZXRcIlxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBuZXR3b3JrSWQoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpZiAodGhpcy5fY29uc3RhbnRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9iajogYW55ID0ge31cclxuICAgICAgICAgICAgb2JqLmFjdGl2aXR5UGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmFjdGl2aXR5X3BlcmlvZDtcclxuICAgICAgICAgICAgb2JqLmJvb3RzdHJhcEhhc2ggPSB7IFNIQTI1NjogQXJyYXkuZnJvbSh1dGlscy5mcm9tSGV4U3RyaW5nKHRoaXMuX2NvbnN0YW50cy5ib290c3RyYXBfaGFzaCkpIH1cclxuICAgICAgICAgICAgb2JqLmJvb3RzdHJhcHBpbmdDb21taXR0ZWUgPSB0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwcGluZ19jb21taXR0ZWVcclxuICAgICAgICAgICAgb2JqLmNoZWNrcG9pbnRaZXJvVGltZXN0YW1wID0gdGhpcy5fY29uc3RhbnRzLmNoZWNrcG9pbnRfemVyb190aW1lc3RhbXBcclxuICAgICAgICAgICAgb2JqLmNoZWNrcG9pbnRzUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmNoZWNrcG9pbnRzX3BlcmlvZFxyXG4gICAgICAgICAgICBvYmouY29sbGF0ZXJhbEFnZSA9IHRoaXMuX2NvbnN0YW50cy5jb2xsYXRlcmFsX2FnZVxyXG4gICAgICAgICAgICBvYmouY29sbGF0ZXJhbE1pbmltdW0gPSB0aGlzLl9jb25zdGFudHMuY29sbGF0ZXJhbF9taW5pbXVtXHJcbiAgICAgICAgICAgIG9iai5lcG9jaHNXaXRoTWluaW11bURpZmZpY3VsdHkgPSB0aGlzLl9jb25zdGFudHMuZXBvY2hzX3dpdGhfbWluaW11bV9kaWZmaWN1bHR5XHJcbiAgICAgICAgICAgIG9iai5leHRyYVJvdW5kcyA9IHRoaXMuX2NvbnN0YW50cy5leHRyYV9yb3VuZHNcclxuICAgICAgICAgICAgb2JqLmdlbmVzaXNIYXNoID0geyBTSEEyNTY6IEFycmF5LmZyb20odXRpbHMuZnJvbUhleFN0cmluZyh0aGlzLl9jb25zdGFudHMuZ2VuZXNpc19oYXNoKSkgfVxyXG4gICAgICAgICAgICBvYmouaGFsdmluZ1BlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5oYWx2aW5nX3BlcmlvZFxyXG4gICAgICAgICAgICBvYmouaW5pdGlhbEJsb2NrUmV3YXJkID0gdGhpcy5fY29uc3RhbnRzLmluaXRpYWxfYmxvY2tfcmV3YXJkXHJcbiAgICAgICAgICAgIG9iai5tYXhEcldlaWdodCA9IHRoaXMuX2NvbnN0YW50cy5tYXhfZHJfd2VpZ2h0XHJcbiAgICAgICAgICAgIG9iai5tYXhWdFdlaWdodCA9IHRoaXMuX2NvbnN0YW50cy5tYXhfdnRfd2VpZ2h0XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jb25zdGFudHMubWluaW11bV9kaWZmaWN1bHR5ID4gMCkgb2JqLm1pbmltdW1EaWZmaWN1bHR5ID0gdGhpcy5fY29uc3RhbnRzLm1pbmltdW1fZGlmZmljdWx0eVxyXG4gICAgICAgICAgICBvYmoubWluaW5nQmFja3VwRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLm1pbmluZ19iYWNrdXBfZmFjdG9yXHJcbiAgICAgICAgICAgIG9iai5taW5pbmdSZXBsaWNhdGlvbkZhY3RvciA9IHRoaXMuX2NvbnN0YW50cy5taW5pbmdfcmVwbGljYXRpb25fZmFjdG9yXHJcbiAgICAgICAgICAgIG9iai5yZXB1dGF0aW9uRXhwaXJlQWxwaGFEaWZmID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25fZXhwaXJlX2FscGhhX2RpZmZcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25Jc3N1YW5jZSA9IHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX2lzc3VhbmNlXHJcbiAgICAgICAgICAgIG9iai5yZXB1dGF0aW9uSXNzdWFuY2VTdG9wID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25faXNzdWFuY2Vfc3RvcFxyXG4gICAgICAgICAgICBvYmoucmVwdXRhdGlvblBlbmFsaXphdGlvbkZhY3RvciA9IHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX3BlbmFsaXphdGlvbl9mYWN0b3JcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5zdXBlcmJsb2NrQ29tbWl0dGVlRGVjcmVhc2luZ1N0ZXAgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19zdGVwXHJcbiAgICAgICAgICAgIG9iai5zdXBlcmJsb2NrUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5zdXBlcmJsb2NrU2lnbmluZ0NvbW1pdHRlZVNpemUgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19zaWduaW5nX2NvbW1pdHRlZV9zaXplXHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9iailcclxuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHByb3RvQnVmLmZyb21PYmplY3Qob2JqKVxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhtZXNzYWdlKVxyXG4gICAgICAgICAgICBjb25zdCBidWZmZXIgPSBwcm90b0J1Zi5lbmNvZGUobWVzc2FnZSkuZmluaXNoKClcclxuICAgICAgICAgICAgY29uc3QgaGFzaCA9IHV0aWxzLnRvSGV4U3RyaW5nKHV0aWxzLnNoYTI1NihidWZmZXIpKSBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coaGFzaClcclxuICAgICAgICAgICAgY29uc3QgaGV4ID0gaGFzaC5zdWJzdHJpbmcoMCwgNClcclxuICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KGhleCwgMTYpXHJcbiAgICAgICAgfSBcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCBuZXh0VVJMKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5kcG9pbnRzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRoaXMuZW5kcG9pbnRzLmxlbmd0aCldXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByb3RlY3RlZCBhc3luYyBjYWxsQXBpTWV0aG9kPFQ+KG1ldGhvZDogc3RyaW5nLCBwYXJhbXM/OiBBcnJheTxhbnk+IHwgYW55ICk6IFByb21pc2U8RXJyb3IgfCBhbnk+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLm5leHRVUkwoKVxyXG4gICAgICAgIHJldHVybiBheGlvc1xyXG4gICAgICAgICAgICAucG9zdChcclxuICAgICAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBqc29ucnBjOiAnMi4wJyxcclxuICAgICAgICAgICAgICAgICAgICBpZDogKyBuZXcgRGF0ZSgpLFxyXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtUmVzcG9uc2U6IGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiBqc29uQmlnKCkucGFyc2UocmVzcG9uc2UpIH0sXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgKS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBKc29uUnBjUHJvdmlkZXJFcnJvcihtZXRob2QsIHBhcmFtcywgcmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcik7XHJcblxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHJldHVybiByZXNwb25zZT8uZGF0YT8ucmVzdWx0IGFzIFQ7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbGlzdCBvZiBibG9jayBoYXNoZXMgd2l0aGluIGdpdmVuIHJhbmdlLCBhcyBrbm93biBieSB0aGUgcHJvdmlkZXIuXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc2luY2UgLSBGaXJzdCBlcG9jaCBmb3Igd2hpY2ggdG8gcmV0dXJuIGJsb2NrIGhhc2hlcy4gSWYgbmVnYXRpdmUsIHJldHVybiBibG9jayBoYXNoZXMgZnJvbSB0aGUgbGFzdCBuIGVwb2Nocy5cclxuICAgICAgICAgKiBAcGFyYW0ge251bWJlcn0gbGltaXQgLSBOdW1iZXIgb2YgYmxvY2sgaGFzaGVzIHRvIHJldHVybi4gSWYgbmVnYXRpdmUsIHJldHVybiB0aGUgbGFzdCBuIGJsb2NrIGhhc2hlcyBmcm9tIHRoaXMgZXBvY2ggcmFuZ2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBibG9ja3Moc2luY2U6IG51bWJlciA9IC0xLCBsaW1pdDogbnVtYmVyID0gMSwpOiBQcm9taXNlPEFycmF5PFtudW1iZXIsIEhhc2hdPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8W051bWJlciwgSGFzaF0+KE1ldGhvZHMuR2V0QmxvY2tDaGFpbiwgW3NpbmNlLCBsaW1pdCwgXSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgY29uc2Vuc3VzIGNvbnN0YW50cyB1c2VkIGJ5IHRoZSBub2RlXHJcbiAgICBwdWJsaWMgYXN5bmMgY29uc3RhbnRzKCk6IFByb21pc2U8Q29uc2Vuc3VzQ29uc3RhbnRzPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9jb25zdGFudHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPENvbnNlbnN1c0NvbnN0YW50cz4oTWV0aG9kcy5HZXRDb25zZW5zdXNDb25zdGFudHMpXHJcbiAgICAgICAgICAgICAgICAudGhlbigoY29uc3RhbnRzOiBDb25zZW5zdXNDb25zdGFudHMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25zdGFudHMgPSBjb25zdGFudHNcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uc3RhbnRzXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb25zdGFudHNcclxuICAgICAgICB9ICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vLyBHZXQgbGltaXRlZCBsaXN0IG9mIGN1cnJlbnRseSB0b3AgaG9sZGVycywgYXMga25vd24gYnkgdGhlIHByb3ZpZGVyLlxyXG4gICAgcHVibGljIGFzeW5jIGhvbGRlcnMobWluQmFsYW5jZSA9IDAsIG1heEJhbGFuY2U/OiBudW1iZXIpOiBQcm9taXNlPFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZT4+KE1ldGhvZHMuR2V0QmFsYW5jZTIsIHtcclxuICAgICAgICAgICAgICAgIGFsbDoge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbkJhbGFuY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4uIG1heEJhbGFuY2UgPyB7IG1heEJhbGFuY2UgfSA6IHt9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLnRoZW4oKGJhbGFuY2VzOiBSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZXZlcnNlQ29tcGFyZSA9IChhOiBCYWxhbmNlMiwgYjogQmFsYW5jZTIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhX3RvdCA9IGEubG9ja2VkICsgYS51bmxvY2tlZCArIGEuc3Rha2VkXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYl90b3QgPSBiLmxvY2tlZCArIGIudW5sb2NrZWQgKyBiLnN0YWtlZFxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhX3RvdCA8IGJfdG90KSByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChhX3RvdCA+IGJfdG90KSByZXR1cm4gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoYmFsYW5jZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zb3J0KChhOiAoc3RyaW5nIHwgQmFsYW5jZTIpW10sIGI6IChzdHJpbmcgfCBCYWxhbmNlMilbXSkgPT4gcmV2ZXJzZUNvbXBhcmUoYVsxXSBhcyBCYWxhbmNlMiwgYlsxXSBhcyBCYWxhbmNlMikpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGxpc3Qgb2Yga25vd24gcGVlcnNcclxuICAgIHB1YmxpYyBhc3luYyBrbm93blBlZXJzKCk6IFByb21pc2U8QXJyYXk8UGVlckFkZHI+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxQZWVyQWRkcj4+KE1ldGhvZHMuS25vd25QZWVycyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgYWxsIHRoZSBwZW5kaW5nIHRyYW5zYWN0aW9uc1xyXG4gICAgcHVibGljIGFzeW5jIG1lbXBvb2woKTogUHJvbWlzZTxNZW1wb29sPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxNZW1wb29sPihNZXRob2RzLkdldE1lbXBvb2wpO1xyXG4gICAgfSAgICBcclxuICAgIFxyXG4gICAgLy8vIEdldCBwcmlvcml0eSBhbmQgdGltZS10by1ibG9jayBlc3RpbWF0aW9ucyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHRpZXJzLlxyXG4gICAgcHVibGljIGFzeW5jIHByaW9yaXRpZXMoKTogUHJvbWlzZTxQcmlvcml0aWVzPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxQcmlvcml0aWVzPihNZXRob2RzLlByaW9yaXR5KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGluZm9ybWF0aW9uIGFib3V0IHByb3RvY29sIHZlcnNpb25zIGFuZCB3aGljaCB2ZXJzaW9uIGlzIGN1cnJlbnRseSBiZWluZyBlbmZvcmNlZC5cclxuICAgIHB1YmxpYyBhc3luYyBwcm90b2NvbEluZm8oKTogUHJvbWlzZTxQcm90b2NvbEluZm8+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByb3RvY29sSW5mbz4oTWV0aG9kcy5Qcm90b2NvbClcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBhIGZ1bGwgbGlzdCBvZiBzdGFraW5nIHBvd2VycyBvcmRlcmVkIGJ5IHJhbmtcclxuICAgIHB1YmxpYyBhc3luYyBwb3dlcnMocXVlcnk/OiBRdWVyeVN0YWtpbmdQb3dlcnMpOiBQcm9taXNlPEFycmF5PFN0YWtpbmdQb3dlcj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFN0YWtpbmdQb3dlcj4+KE1ldGhvZHMuUXVlcnlTdGFraW5nUG93ZXJzLCBxdWVyeSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBhIGZ1bGwgbGlzdCBvZiBjdXJyZW50IHN0YWtlIGVudHJpZXMgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgbmFub3dpdHMgc3Rha2VkIGJ5IGFuIGFkZHJlc3MuXHJcbiAgICBwdWJsaWMgYXN5bmMgc3Rha2VzKHF1ZXJ5PzogUXVlcnlTdGFrZXMpOiBQcm9taXNlPEFycmF5PFN0YWtlRW50cnk+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8QXJyYXk8U3Rha2VFbnRyeT4+KE1ldGhvZHMuUXVlcnlTdGFrZXMsIHF1ZXJ5KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnI/LmVycm9yPy5tZXNzYWdlICYmIGVyci5lcnJvci5tZXNzYWdlLmluZGV4T2YoXCJub3QgcmVnaXN0ZXJlZFwiKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVyclxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IG5vZGUgc3RhdHVzXHJcbiAgICBwdWJsaWMgYXN5bmMgc3luY1N0YXR1cygpOiBQcm9taXNlPFN5bmNTdGF0dXM+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFN5bmNTdGF0dXM+KE1ldGhvZHMuU3luY1N0YXR1cyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBhc3luYyB3aXBzKCk6IFByb21pc2U8U2lnbmFsaW5nSW5mbz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U2lnbmFsaW5nSW5mbz4oTWV0aG9kcy5TaWduYWxpbmdJbmZvKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyB3aXRuZXNzZXMoX3NpbmNlPzogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgICAgICAvLyB0b2RvOiB3aXRuZXNzZXMgZXN0aW1hdGlvbiBzaG91bGQgaW5zdGVhZCBiZSBjb21wdXRlZCBpbiBwcm9wb3J0aW9uIHRvXHJcbiAgICAgICAgLy8gICAgICAgcmF0aW8gb2YgdmFsaWRhdG9ycyB0aGF0IGhhdmUgaG9uZXN0bHkgd2l0bmVzc2VkIGRhdGEgcmVxdWVzdHNcclxuICAgICAgICAvLyAgICAgICB2cyB2YWxpZGF0b3JzIHRoYXQgaGF2ZSBob25lc3RseSB3aXRuZXNzZWQgZGF0YSByZXF1ZXN0cyBhbmRcclxuICAgICAgICAvLyAgICAgICBuZXZlciByZXZlYWxlZCBcImkgcGFzc2VkXCIgb3V0IG9mIG1ham9yaXR5LCBcclxuICAgICAgICAvLyAgICAgICB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZSBvZiBlcG9jaHMuXHJcbiAgICAgICAgbGV0IGNlbnN1cyA9IDBcclxuICAgICAgICByZXR1cm4gdGhpcyBcclxuICAgICAgICAgICAgLnN0YWtlcyh7IHBhcmFtczogeyBkaXN0aW5jdDogdHJ1ZSB9fSkgLy8gdG9kbzogaW1wbGVtZW50IGBjb3VudGAgZmxhZyBvbiBJSnNvblJwY1Byb3ZpZGVyLnN0YWtlcygpXHJcbiAgICAgICAgICAgIC50aGVuKHJlY29yZHMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY2Vuc3VzID0gcmVjb3Jkcy5sZW5ndGhcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJsb2NrcygtMTYsIDE2KSAvLyB0b2RvOiBibG9ja3MoKSBzaG91bGQgcmV0dXJuIGVwb2NoLCBoYXNoIGFuZCB2YWxpZGF0b3IgcGtoIGZvciBlYWNoIGJsb2NrXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKHJlY29yZHMgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHJlY29yZHMubWFwKHJlY29yZCA9PiB0aGlzLmdldEJsb2NrKHJlY29yZFsxXSkpKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihibG9ja3MgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yczogQXJyYXk8UHVibGljS2V5SGFzaFN0cmluZz4gPSBbXVxyXG4gICAgICAgICAgICAgICAgYmxvY2tzLm1hcChibG9jayA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGtoID0gUHVibGljS2V5LmZyb21Qcm90b2J1ZihibG9jay5ibG9ja19zaWcucHVibGljX2tleSkuaGFzaCgpLnRvQmVjaDMyKHRoaXMubmV0d29yaylcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkYXRvcnMuaW5jbHVkZXMocGtoKSkgdmFsaWRhdG9ycy5wdXNoKHBraCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnMubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgIE1hdGguZmxvb3IodGhpcy5uZXR3b3JrID09PSBcInRlc3RuZXRcIiA/IGNlbnN1cyAvIDIgOiBjZW5zdXMgLyA0KVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLy8gR2V0IGJhbGFuY2VcclxuICAgIHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKHBraDogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QmFsYW5jZTI+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxCYWxhbmNlMj4oTWV0aG9kcy5HZXRCYWxhbmNlMiwgeyBwa2ggfSlcclxuICAgICAgICAgICAgLnRoZW4oKGJhbGFuY2U6IEJhbGFuY2UyKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgbG9ja2VkOiBCaWdJbnQoYmFsYW5jZS5sb2NrZWQpLFxyXG4gICAgICAgICAgICAgICAgc3Rha2VkOiBCaWdJbnQoYmFsYW5jZS5zdGFrZWQpLFxyXG4gICAgICAgICAgICAgICAgdW5sb2NrZWQ6IEJpZ0ludChiYWxhbmNlLnVubG9ja2VkKSxcclxuICAgICAgICAgICAgfSkpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogR2V0IGJsb2NrIGluZm8gYnkgaGFzaFxyXG4gICAgICogQHBhcmFtIHtIYXNofSBibG9ja0hhc2ggLSBIYXNoIG9mIHRoZSBibG9jayB0aGF0IHdlIGFyZSBxdWVyeWluZy5cclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hvd1RyYW5zYWN0aW9uSGFzaCAtIFdoZXRoZXIgdG8gaW5jbHVkZSBhbiBleHRyYSBmaWVsZCBjb250YWluaW5nIGFycmF5IG9mIHRyYW5zYWN0aW9uIGhhc2hlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIGdldEJsb2NrKFxyXG4gICAgICAgICAgICBibG9ja0hhc2g6IEhhc2gsXHJcbiAgICAgICAgICAgIHNob3dUcmFuc2FjdGlvbkhhc2ggPSBmYWxzZSxcclxuICAgICAgICApOiBQcm9taXNlPEJsb2NrPlxyXG4gICAge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QmxvY2s+KE1ldGhvZHMuR2V0QmxvY2ssIFtibG9ja0hhc2gsIHNob3dUcmFuc2FjdGlvbkhhc2gsIF0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBhc3luYyBnZXREYXRhUmVxdWVzdChkclR4SGFzaDogSGFzaCwgbW9kZT86IEdldERhdGFSZXF1ZXN0TW9kZSwgZm9yY2UgPSBmYWxzZSk6IFByb21pc2U8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD4oTWV0aG9kcy5HZXREYXRhUmVxdWVzdCwge1xyXG4gICAgICAgICAgICBoYXNoOiBkclR4SGFzaCxcclxuICAgICAgICAgICAgbW9kZTogbW9kZSB8fCBcImZ1bGxcIixcclxuICAgICAgICAgICAgZm9yY2VcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHRoZSBibG9ja3MgdGhhdCBwZXJ0YWluIHRvIHRoZSBzdXBlcmJsb2NrIGluZGV4XHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0U3VwZXJibG9jayhlcG9jaDogRXBvY2gpOiBQcm9taXNlPFN1cGVyYmxvY2tSZXBvcnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFN1cGVyYmxvY2tSZXBvcnQ+KE1ldGhvZHMuR2V0U3VwZXJibG9jaywgeyBcImJsb2NrX2Vwb2NoXCI6IGVwb2NoIH0pO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb24odHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlcG9ydD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8VHJhbnNhY3Rpb25SZXBvcnQ+KE1ldGhvZHMuR2V0VHJhbnNhY3Rpb24sIFt0eEhhc2gsIF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvblJlY2VpcHQodHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlY2VpcHQ+IHtcclxuICAgICAgICAvLyB0b2RvOiBmZXRjaC91cGRhdGUgcmVjZWlwdCBmcm9tIHByb3ZpZGVyLCBpZiBub3QgY2FjaGVkXHJcbiAgICAgICAgcmV0dXJuIEpzb25ScGNQcm92aWRlci5yZWNlaXB0c1t0eEhhc2hdXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgdXR4b3NcclxuICAgIHB1YmxpYyBhc3luYyBnZXRVdHhvcyhwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsIGZpbHRlcj86IHsgbWluVmFsdWU/OiBiaWdpbnQgfCBzdHJpbmcsIGZyb21TaWduZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nIH0pOiBQcm9taXNlPEFycmF5PFV0eG9NZXRhZGF0YT4+IHtcclxuICAgICAgICBpZiAoZmlsdGVyKSB7XHJcbiAgICAgICAgICAgIGZpbHRlci5taW5WYWx1ZSA9IGZpbHRlcj8ubWluVmFsdWU/LnRvU3RyaW5nKCkgPz8gXCIwXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPFV0eG9JbmZvPihNZXRob2RzLkdldFV0eG9JbmZvLCBbcGtoLCAuLi4oZmlsdGVyID8gW2ZpbHRlcl06IFtdKV0pXHJcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHQ6IFV0eG9JbmZvKSA9PiByZXN1bHQudXR4b3MubWFwKCh1dHhvOiBVdHhvTWV0YWRhdGEpID0+ICh7IFxyXG4gICAgICAgICAgICAgICAgLi4udXR4bywgXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogQmlnSW50KHV0eG8udmFsdWUpXHJcbiAgICAgICAgICAgIH0pKSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWVUcmFuc2Zlcih0eEhhc2g6IEhhc2gsIG1vZGU/OiBzdHJpbmcsIGZvcmNlID0gZmFsc2UpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8YW55PihNZXRob2RzLkdldFZhbHVlVHJhbnNmZXIsIHtcclxuICAgICAgICAgICAgaGFzaDogdHhIYXNoLFxyXG4gICAgICAgICAgICBtb2RlOiBtb2RlLFxyXG4gICAgICAgICAgICBmb3JjZVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHNlYXJjaERhdGFSZXF1ZXN0cyhcclxuICAgICAgICByYWRIYXNoOiBIYXNoLCBcclxuICAgICAgICBvcHRpb25zPzogeyBcclxuICAgICAgICAgICAgbGltaXQ/OiBudW1iZXIsIFxyXG4gICAgICAgICAgICBvZmZzZXQ/OiBudW1iZXIsXHJcbiAgICAgICAgICAgIG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGUsIFxyXG4gICAgICAgICAgICByZXZlcnNlPzogYm9vbGVhbiBcclxuICAgIH0pOiBQcm9taXNlPEFycmF5PEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQ+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8QXJyYXk8YW55W10+PihNZXRob2RzLlNlYXJjaERhdGFSZXF1ZXN0cywge1xyXG4gICAgICAgICAgICAgICAgcmFkSGFzaCxcclxuICAgICAgICAgICAgICAgIGxpbWl0OiBvcHRpb25zPy5saW1pdCxcclxuICAgICAgICAgICAgICAgIG9mZnNldDogb3B0aW9ucz8ub2Zmc2V0LFxyXG4gICAgICAgICAgICAgICAgcmV2ZXJzZTogb3B0aW9ucz8ucmV2ZXJzZVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihhc3luYyBlbnRyaWVzID0+IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICAgICAgZW50cmllcy5tYXAoKGVudHJ5OiBhbnlbXSkgPT4gdGhpcy5nZXREYXRhUmVxdWVzdChlbnRyeVsxXSwgb3B0aW9ucz8ubW9kZSB8fCBcImV0aGVyZWFsXCIsIHRydWUpKVxyXG4gICAgICAgICAgICApKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBwdWJsaWMgYXN5bmMgc2VuZFJhd1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuSW52ZW50b3J5LCB7IHRyYW5zYWN0aW9uIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLy8vIEdldCBzdXBwbHkgaW5mb1xyXG4gICAgcHVibGljIGFzeW5jIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBwbHlJbmZvPihNZXRob2RzLkdldFN1cHBseUluZm8pXHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -7,8 +7,7 @@ export let modals: {
|
|
|
7
7
|
};
|
|
8
8
|
ipfs: {
|
|
9
9
|
WitOracleIpfsFileExists: import("../../src/lib/radon").RadonModal;
|
|
10
|
-
WitOracleIpfsFileSha256:
|
|
11
|
-
WitOracleIpfsFileSha256Sealed: {};
|
|
10
|
+
WitOracleIpfsFileSha256: import("../../src/lib/radon").RadonModal;
|
|
12
11
|
};
|
|
13
12
|
wit: {
|
|
14
13
|
WitOracleWitGetBalance: import("../../src/lib/radon").RadonModal;
|
|
@@ -6,8 +6,7 @@ export namespace web3 {
|
|
|
6
6
|
};
|
|
7
7
|
let ipfs: {
|
|
8
8
|
WitOracleIpfsFileExists: import("../../../src/lib/radon/index.js").RadonModal;
|
|
9
|
-
WitOracleIpfsFileSha256:
|
|
10
|
-
WitOracleIpfsFileSha256Sealed: {};
|
|
9
|
+
WitOracleIpfsFileSha256: import("../../../src/lib/radon/index.js").RadonModal;
|
|
11
10
|
};
|
|
12
11
|
let wit: {
|
|
13
12
|
WitOracleWitGetBalance: import("../../../src/lib/radon/index.js").RadonModal;
|
|
@@ -12,15 +12,15 @@ module.exports = {
|
|
|
12
12
|
}),
|
|
13
13
|
WitOracleEthGetBalance: new RadonModal({
|
|
14
14
|
retrieval: retrievals.JsonRPC({
|
|
15
|
-
rpc: retrievals.rpc.eth.getBalance("\\
|
|
15
|
+
rpc: retrievals.rpc.eth.getBalance("\\0\\"),
|
|
16
16
|
script: RadonScript(types.RadonString).asFloat().floor(),
|
|
17
17
|
}),
|
|
18
18
|
}),
|
|
19
19
|
WitOracleEthGetTransactionReceipt: new RadonModal({
|
|
20
20
|
retrieval: retrievals.JsonRPC({
|
|
21
|
-
rpc: retrievals.rpc.eth.getTransactionByHash("\\
|
|
21
|
+
rpc: retrievals.rpc.eth.getTransactionByHash("\\0\\"),
|
|
22
22
|
script: RadonScript(types.RadonString).parseJSONMap(),
|
|
23
23
|
}),
|
|
24
24
|
}),
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vd2l0bmV0L2Fzc2V0cy9tb2RhbHMvd2ViMy9ldGguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sRUFDSixVQUFVLEVBQ1YsV0FBVztBQUNYLFdBQVc7QUFDWCxZQUFZO0FBQ1osVUFBVSxFQUNWLEtBQUssR0FDTixHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDZix1QkFBdUIsRUFBRSxJQUFJLFVBQVUsQ0FBQztRQUN0QyxTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM1QixHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRTtTQUN6RCxDQUFDO0tBQ0gsQ0FBQztJQUNGLHNCQUFzQixFQUFFLElBQUksVUFBVSxDQUFDO1FBQ3JDLFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzNDLE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRTtTQUN6RCxDQUFDO0tBQ0gsQ0FBQztJQUNGLGlDQUFpQyxFQUFFLElBQUksVUFBVSxDQUFDO1FBQ2hELFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7WUFDckQsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxFQUFFO1NBQ3RELENBQUM7S0FDSCxDQUFDO0NBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcclxuICBSYWRvbk1vZGFsLFxyXG4gIFJhZG9uU2NyaXB0LFxyXG4gIC8vIGZpbHRlcnMsXHJcbiAgLy8gcmVkdWNlcnMsXHJcbiAgcmV0cmlldmFscyxcclxuICB0eXBlcyxcclxufSA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uXCIpXHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuICBXaXRPcmFjbGVFdGhCbG9ja051bWJlcjogbmV3IFJhZG9uTW9kYWwoe1xyXG4gICAgcmV0cmlldmFsOiByZXRyaWV2YWxzLkpzb25SUEMoe1xyXG4gICAgICBycGM6IHJldHJpZXZhbHMucnBjLmV0aC5ibG9ja051bWJlcigpLFxyXG4gICAgICBzY3JpcHQ6IFJhZG9uU2NyaXB0KHR5cGVzLlJhZG9uU3RyaW5nKS5hc0Zsb2F0KCkuZmxvb3IoKSxcclxuICAgIH0pLFxyXG4gIH0pLFxyXG4gIFdpdE9yYWNsZUV0aEdldEJhbGFuY2U6IG5ldyBSYWRvbk1vZGFsKHtcclxuICAgIHJldHJpZXZhbDogcmV0cmlldmFscy5Kc29uUlBDKHtcclxuICAgICAgcnBjOiByZXRyaWV2YWxzLnJwYy5ldGguZ2V0QmFsYW5jZShcIlxcXFwwXFxcXFwiKSxcclxuICAgICAgc2NyaXB0OiBSYWRvblNjcmlwdCh0eXBlcy5SYWRvblN0cmluZykuYXNGbG9hdCgpLmZsb29yKCksXHJcbiAgICB9KSxcclxuICB9KSxcclxuICBXaXRPcmFjbGVFdGhHZXRUcmFuc2FjdGlvblJlY2VpcHQ6IG5ldyBSYWRvbk1vZGFsKHtcclxuICAgIHJldHJpZXZhbDogcmV0cmlldmFscy5Kc29uUlBDKHtcclxuICAgICAgcnBjOiByZXRyaWV2YWxzLnJwYy5ldGguZ2V0VHJhbnNhY3Rpb25CeUhhc2goXCJcXFxcMFxcXFxcIiksXHJcbiAgICAgIHNjcmlwdDogUmFkb25TY3JpcHQodHlwZXMuUmFkb25TdHJpbmcpLnBhcnNlSlNPTk1hcCgpLFxyXG4gICAgfSksXHJcbiAgfSksXHJcbn1cclxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { RadonModal } from "../../../../src/lib/radon";
|
|
2
2
|
export let WitOracleIpfsFileExists: RadonModal;
|
|
3
|
-
export let WitOracleIpfsFileSha256:
|
|
4
|
-
export let WitOracleIpfsFileSha256Sealed: {};
|
|
3
|
+
export let WitOracleIpfsFileSha256: RadonModal;
|
|
5
4
|
//# sourceMappingURL=ipfs.d.ts.map
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const { RadonModal, RadonScript,
|
|
3
|
-
// filters,
|
|
4
|
-
// reducers,
|
|
5
|
-
retrievals, types, } = require("../../../../src/lib/radon");
|
|
2
|
+
const { RadonModal, RadonScript, retrievals, types, } = require("../../../../src/lib/radon");
|
|
6
3
|
module.exports = {
|
|
7
4
|
WitOracleIpfsFileExists: new RadonModal({
|
|
8
5
|
retrieval: retrievals.HttpHead({
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
script: RadonScript(types.RadonMap)
|
|
7
|
+
.getString("etag")
|
|
8
|
+
.slice(1, -1)
|
|
9
|
+
.match(types.RadonBoolean, { "\\0\\": true }, false)
|
|
11
10
|
}),
|
|
12
11
|
}),
|
|
13
|
-
WitOracleIpfsFileSha256: {
|
|
14
|
-
|
|
12
|
+
WitOracleIpfsFileSha256: new RadonModal({
|
|
13
|
+
retrieval: retrievals.HttpGet({
|
|
14
|
+
script: RadonScript(types.RadonBytes).hash()
|
|
15
|
+
})
|
|
16
|
+
})
|
|
15
17
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBmcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3dpdG5ldC9hc3NldHMvbW9kYWxzL3dlYjMvaXBmcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxFQUNKLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLEtBQUssR0FDTixHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDYix1QkFBdUIsRUFBRSxJQUFJLFVBQVUsQ0FBQztRQUNwQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUMzQixNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUM7aUJBQ2pCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDO1NBQzNELENBQUM7S0FDTCxDQUFDO0lBQ0YsdUJBQXVCLEVBQUUsSUFBSSxVQUFVLENBQUM7UUFDcEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDMUIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFO1NBQy9DLENBQUM7S0FDTCxDQUFDO0NBQ0wsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcclxuICBSYWRvbk1vZGFsLFxyXG4gIFJhZG9uU2NyaXB0LFxyXG4gIHJldHJpZXZhbHMsXHJcbiAgdHlwZXMsXHJcbn0gPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvblwiKVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBXaXRPcmFjbGVJcGZzRmlsZUV4aXN0czogbmV3IFJhZG9uTW9kYWwoe1xyXG4gICAgICAgIHJldHJpZXZhbDogcmV0cmlldmFscy5IdHRwSGVhZCh7XHJcbiAgICAgICAgICAgIHNjcmlwdDogUmFkb25TY3JpcHQodHlwZXMuUmFkb25NYXApXHJcbiAgICAgICAgICAgICAgICAuZ2V0U3RyaW5nKFwiZXRhZ1wiKVxyXG4gICAgICAgICAgICAgICAgLnNsaWNlKDEsIC0xKVxyXG4gICAgICAgICAgICAgICAgLm1hdGNoKHR5cGVzLlJhZG9uQm9vbGVhbiwgeyBcIlxcXFwwXFxcXFwiOiB0cnVlIH0sIGZhbHNlKVxyXG4gICAgICAgIH0pLFxyXG4gICAgfSksXHJcbiAgICBXaXRPcmFjbGVJcGZzRmlsZVNoYTI1NjogbmV3IFJhZG9uTW9kYWwoe1xyXG4gICAgICAgIHJldHJpZXZhbDogcmV0cmlldmFscy5IdHRwR2V0KHtcclxuICAgICAgICAgICAgc2NyaXB0OiBSYWRvblNjcmlwdCh0eXBlcy5SYWRvbkJ5dGVzKS5oYXNoKClcclxuICAgICAgICB9KVxyXG4gICAgfSlcclxufVxyXG4iXX0=
|
|
@@ -3,15 +3,15 @@ const { RadonModal, RadonScript, retrievals, types, } = require("../../../../src
|
|
|
3
3
|
module.exports = {
|
|
4
4
|
WitOracleWitGetBalance: new RadonModal({
|
|
5
5
|
retrieval: retrievals.JsonRPC({
|
|
6
|
-
rpc: retrievals.rpc.wit.getBalance("\\
|
|
6
|
+
rpc: retrievals.rpc.wit.getBalance("\\0\\"),
|
|
7
7
|
script: RadonScript(types.RadonString).parseJSONMap().getMap("result").values(),
|
|
8
8
|
}),
|
|
9
9
|
}),
|
|
10
10
|
WitOracleWitGetValueTransfer: new RadonModal({
|
|
11
11
|
retrieval: retrievals.JsonRPC({
|
|
12
|
-
rpc: retrievals.rpc.wit.getValueTransfer("\\
|
|
13
|
-
script: RadonScript(types.RadonString).parseJSONMap().getMap("result").getMap("\\
|
|
12
|
+
rpc: retrievals.rpc.wit.getValueTransfer("\\0\\", "\\1\\"),
|
|
13
|
+
script: RadonScript(types.RadonString).parseJSONMap().getMap("result").getMap("\\1\\").values(),
|
|
14
14
|
}),
|
|
15
15
|
}),
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vd2l0bmV0L2Fzc2V0cy9tb2RhbHMvd2ViMy93aXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU0sRUFDSixVQUFVLEVBQ1YsV0FBVyxFQUNYLFVBQVUsRUFDVixLQUFLLEdBQ04sR0FBRyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2Ysc0JBQXNCLEVBQUUsSUFBSSxVQUFVLENBQUM7UUFDckMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDNUIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDM0MsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRTtTQUNoRixDQUFDO0tBQ0gsQ0FBQztJQUNGLDRCQUE0QixFQUFFLElBQUksVUFBVSxDQUFDO1FBQzNDLFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQzFELE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFO1NBQ2hHLENBQUM7S0FDSCxDQUFDO0NBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcclxuICBSYWRvbk1vZGFsLFxyXG4gIFJhZG9uU2NyaXB0LFxyXG4gIHJldHJpZXZhbHMsXHJcbiAgdHlwZXMsXHJcbn0gPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvblwiKVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgV2l0T3JhY2xlV2l0R2V0QmFsYW5jZTogbmV3IFJhZG9uTW9kYWwoe1xyXG4gICAgcmV0cmlldmFsOiByZXRyaWV2YWxzLkpzb25SUEMoe1xyXG4gICAgICBycGM6IHJldHJpZXZhbHMucnBjLndpdC5nZXRCYWxhbmNlKFwiXFxcXDBcXFxcXCIpLFxyXG4gICAgICBzY3JpcHQ6IFJhZG9uU2NyaXB0KHR5cGVzLlJhZG9uU3RyaW5nKS5wYXJzZUpTT05NYXAoKS5nZXRNYXAoXCJyZXN1bHRcIikudmFsdWVzKCksXHJcbiAgICB9KSxcclxuICB9KSxcclxuICBXaXRPcmFjbGVXaXRHZXRWYWx1ZVRyYW5zZmVyOiBuZXcgUmFkb25Nb2RhbCh7XHJcbiAgICByZXRyaWV2YWw6IHJldHJpZXZhbHMuSnNvblJQQyh7XHJcbiAgICAgIHJwYzogcmV0cmlldmFscy5ycGMud2l0LmdldFZhbHVlVHJhbnNmZXIoXCJcXFxcMFxcXFxcIiwgXCJcXFxcMVxcXFxcIiksXHJcbiAgICAgIHNjcmlwdDogUmFkb25TY3JpcHQodHlwZXMuUmFkb25TdHJpbmcpLnBhcnNlSlNPTk1hcCgpLmdldE1hcChcInJlc3VsdFwiKS5nZXRNYXAoXCJcXFxcMVxcXFxcIikudmFsdWVzKCksXHJcbiAgICB9KSxcclxuICB9KSxcclxufVxyXG4iXX0=
|
|
@@ -7,31 +7,10 @@ module.exports = {
|
|
|
7
7
|
WitOracleRequestPriceCryptoWitUsdt6: new RadonRequest({
|
|
8
8
|
sources: [
|
|
9
9
|
retrievals.HttpGet({
|
|
10
|
-
url: "https://api
|
|
10
|
+
url: "https://api.mexc.com/api/v3/ticker/price?symbol=WITUSDT",
|
|
11
11
|
script: RadonScript(types.RadonString)
|
|
12
12
|
.parseJSONMap()
|
|
13
|
-
.
|
|
14
|
-
.getArray("tickers")
|
|
15
|
-
.getMap(0)
|
|
16
|
-
.getFloat("last_price")
|
|
17
|
-
.multiply(1e6)
|
|
18
|
-
.round(),
|
|
19
|
-
}),
|
|
20
|
-
retrievals.HttpGet({
|
|
21
|
-
url: "https://data.gateapi.io/api2/1/ticker/wit_usdt",
|
|
22
|
-
script: RadonScript(types.RadonString)
|
|
23
|
-
.parseJSONMap()
|
|
24
|
-
.getFloat("last")
|
|
25
|
-
.multiply(1e6)
|
|
26
|
-
.round(),
|
|
27
|
-
}),
|
|
28
|
-
retrievals.HttpGet({
|
|
29
|
-
url: "https://www.mexc.com/open/api/v2/market/ticker?symbol=WIT_USDT",
|
|
30
|
-
script: RadonScript(types.RadonString)
|
|
31
|
-
.parseJSONMap()
|
|
32
|
-
.getArray("data")
|
|
33
|
-
.getMap(0)
|
|
34
|
-
.getFloat("last")
|
|
13
|
+
.getFloat("price")
|
|
35
14
|
.multiply(1e6)
|
|
36
15
|
.round(),
|
|
37
16
|
}),
|
|
@@ -42,35 +21,11 @@ module.exports = {
|
|
|
42
21
|
WitOracleRequestPriceCryptoUsdtWit9: new RadonRequest({
|
|
43
22
|
sources: [
|
|
44
23
|
retrievals.HttpGet({
|
|
45
|
-
url: "https://api
|
|
24
|
+
url: "https://api.mexc.com/api/v3/ticker/price?symbol=WITUSDT",
|
|
46
25
|
script: RadonScript(types.RadonString)
|
|
47
26
|
.parseJSONMap()
|
|
48
|
-
.
|
|
49
|
-
.
|
|
50
|
-
.getMap(0)
|
|
51
|
-
.getFloat("last_price")
|
|
52
|
-
.power(-1)
|
|
53
|
-
.multiply(1e9)
|
|
54
|
-
.round(),
|
|
55
|
-
}),
|
|
56
|
-
retrievals.HttpGet({
|
|
57
|
-
url: "https://data.gateapi.io/api2/1/ticker/wit_usdt",
|
|
58
|
-
script: RadonScript(types.RadonString)
|
|
59
|
-
.parseJSONMap()
|
|
60
|
-
.getFloat("last")
|
|
61
|
-
.power(-1)
|
|
62
|
-
.multiply(1e9)
|
|
63
|
-
.round(),
|
|
64
|
-
}),
|
|
65
|
-
retrievals.HttpGet({
|
|
66
|
-
url: "https://www.mexc.com/open/api/v2/market/ticker?symbol=WIT_USDT",
|
|
67
|
-
script: RadonScript(types.RadonString)
|
|
68
|
-
.parseJSONMap()
|
|
69
|
-
.getArray("data")
|
|
70
|
-
.getMap(0)
|
|
71
|
-
.getFloat("last")
|
|
72
|
-
.power(-1)
|
|
73
|
-
.multiply(1e9)
|
|
27
|
+
.getFloat("price")
|
|
28
|
+
.multiply(1e6)
|
|
74
29
|
.round(),
|
|
75
30
|
}),
|
|
76
31
|
],
|
|
@@ -85,4 +40,4 @@ module.exports = {
|
|
|
85
40
|
witnessReducer: reducers.ConcatHash(),
|
|
86
41
|
}),
|
|
87
42
|
};
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi93aXRuZXQvYXNzZXRzL3JlcXVlc3RzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLEVBQ0osWUFBWSxFQUNaLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEdBQ04sR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUVsQyxNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2YsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFO1lBQ1AsTUFBTSxFQUFFO2dCQUNOLG1DQUFtQyxFQUFFLElBQUksWUFBWSxDQUFDO29CQUNwRCxPQUFPLEVBQUU7d0JBQ1AsVUFBVSxDQUFDLE9BQU8sQ0FBQzs0QkFDakIsR0FBRyxFQUFFLHlEQUF5RDs0QkFDOUQsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2lDQUNuQyxZQUFZLEVBQUU7aUNBQ2QsUUFBUSxDQUFDLE9BQU8sQ0FBQztpQ0FDakIsUUFBUSxDQUFDLEdBQUcsQ0FBQztpQ0FDYixLQUFLLEVBQUU7eUJBQ1gsQ0FBQztxQkFDSDtvQkFDRCxjQUFjLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuRCxjQUFjLEVBQUUsUUFBUSxDQUFDLFVBQVUsRUFBRTtpQkFDdEMsQ0FBQztnQkFDRixtQ0FBbUMsRUFBRSxJQUFJLFlBQVksQ0FBQztvQkFDcEQsT0FBTyxFQUFFO3dCQUNQLFVBQVUsQ0FBQyxPQUFPLENBQUM7NEJBQ2pCLEdBQUcsRUFBRSx5REFBeUQ7NEJBQzlELE1BQU0sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztpQ0FDbkMsWUFBWSxFQUFFO2lDQUNkLFFBQVEsQ0FBQyxPQUFPLENBQUM7aUNBQ2pCLFFBQVEsQ0FBQyxHQUFHLENBQUM7aUNBQ2IsS0FBSyxFQUFFO3lCQUNYLENBQUM7cUJBQ0g7b0JBQ0QsY0FBYyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkQsY0FBYyxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUU7aUJBQ3RDLENBQUM7YUFDSDtTQUNGO0tBQ0Y7SUFDRCwwQkFBMEIsRUFBRSxJQUFJLFlBQVksQ0FBQztRQUMzQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUN6QixjQUFjLEVBQUUsUUFBUSxDQUFDLFVBQVUsRUFBRTtLQUN0QyxDQUFDO0NBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcclxuICBSYWRvblJlcXVlc3QsXHJcbiAgUmFkb25TY3JpcHQsXHJcbiAgZmlsdGVycyxcclxuICByZWR1Y2VycyxcclxuICByZXRyaWV2YWxzLFxyXG4gIHR5cGVzLFxyXG59ID0gcmVxdWlyZShcIi4uLy4uL3NyYy9saWIvcmFkb25cIilcclxuXHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG4gIGRlZmk6IHtcclxuICAgIHRpY2tlcnM6IHtcclxuICAgICAgY3J5cHRvOiB7XHJcbiAgICAgICAgV2l0T3JhY2xlUmVxdWVzdFByaWNlQ3J5cHRvV2l0VXNkdDY6IG5ldyBSYWRvblJlcXVlc3Qoe1xyXG4gICAgICAgICAgc291cmNlczogW1xyXG4gICAgICAgICAgICByZXRyaWV2YWxzLkh0dHBHZXQoe1xyXG4gICAgICAgICAgICAgIHVybDogXCJodHRwczovL2FwaS5tZXhjLmNvbS9hcGkvdjMvdGlja2VyL3ByaWNlP3N5bWJvbD1XSVRVU0RUXCIsXHJcbiAgICAgICAgICAgICAgc2NyaXB0OiBSYWRvblNjcmlwdCh0eXBlcy5SYWRvblN0cmluZylcclxuICAgICAgICAgICAgICAgIC5wYXJzZUpTT05NYXAoKVxyXG4gICAgICAgICAgICAgICAgLmdldEZsb2F0KFwicHJpY2VcIilcclxuICAgICAgICAgICAgICAgIC5tdWx0aXBseSgxZTYpXHJcbiAgICAgICAgICAgICAgICAucm91bmQoKSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgc291cmNlc1JlZHVjZXI6IHJlZHVjZXJzLk1lZGlhbihmaWx0ZXJzLlN0ZGV2KDEuNCkpLFxyXG4gICAgICAgICAgd2l0bmVzc1JlZHVjZXI6IHJlZHVjZXJzLlByaWNlVGFsbHkoKSxcclxuICAgICAgICB9KSxcclxuICAgICAgICBXaXRPcmFjbGVSZXF1ZXN0UHJpY2VDcnlwdG9Vc2R0V2l0OTogbmV3IFJhZG9uUmVxdWVzdCh7XHJcbiAgICAgICAgICBzb3VyY2VzOiBbXHJcbiAgICAgICAgICAgIHJldHJpZXZhbHMuSHR0cEdldCh7XHJcbiAgICAgICAgICAgICAgdXJsOiBcImh0dHBzOi8vYXBpLm1leGMuY29tL2FwaS92My90aWNrZXIvcHJpY2U/c3ltYm9sPVdJVFVTRFRcIixcclxuICAgICAgICAgICAgICBzY3JpcHQ6IFJhZG9uU2NyaXB0KHR5cGVzLlJhZG9uU3RyaW5nKVxyXG4gICAgICAgICAgICAgICAgLnBhcnNlSlNPTk1hcCgpXHJcbiAgICAgICAgICAgICAgICAuZ2V0RmxvYXQoXCJwcmljZVwiKVxyXG4gICAgICAgICAgICAgICAgLm11bHRpcGx5KDFlNilcclxuICAgICAgICAgICAgICAgIC5yb3VuZCgpLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICBzb3VyY2VzUmVkdWNlcjogcmVkdWNlcnMuTWVkaWFuKGZpbHRlcnMuU3RkZXYoMS40KSksXHJcbiAgICAgICAgICB3aXRuZXNzUmVkdWNlcjogcmVkdWNlcnMuUHJpY2VUYWxseSgpLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9LFxyXG4gIFdpdE9yYWNsZVJlcXVlc3RSYW5kb21uZXNzOiBuZXcgUmFkb25SZXF1ZXN0KHtcclxuICAgIHNvdXJjZXM6IHJldHJpZXZhbHMuUk5HKCksXHJcbiAgICB3aXRuZXNzUmVkdWNlcjogcmVkdWNlcnMuQ29uY2F0SGFzaCgpLFxyXG4gIH0pLFxyXG59XHJcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@witnet/sdk",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
|
|
5
5
|
"author": "Witnet Foundation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,32 +32,32 @@
|
|
|
32
32
|
},
|
|
33
33
|
"types": "./dist",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"axios": "^1.
|
|
35
|
+
"axios": "^1.12.2",
|
|
36
36
|
"bech32": "~2.0.0",
|
|
37
37
|
"bip32": "^4.0.0",
|
|
38
|
-
"cbor": "^10.0.
|
|
38
|
+
"cbor": "^10.0.11",
|
|
39
39
|
"dotenv": "^16.6.1",
|
|
40
|
-
"ethers": "^
|
|
40
|
+
"ethers": "^6.15.0",
|
|
41
41
|
"graphql-query-compress": "1.2.4",
|
|
42
|
-
"inquirer": "^12.9.
|
|
42
|
+
"inquirer": "^12.9.6",
|
|
43
43
|
"json-bigint": "^1.0.0",
|
|
44
44
|
"keccak256": "^1.0.6",
|
|
45
45
|
"lodash.merge": "^4.6.2",
|
|
46
46
|
"long": "^5.3.2",
|
|
47
47
|
"moment": "^2.30.1",
|
|
48
48
|
"promise-poller": "~1.9.1",
|
|
49
|
-
"protobufjs": "^7.5.
|
|
49
|
+
"protobufjs": "^7.5.4",
|
|
50
50
|
"qrcode-terminal": "^0.12.0",
|
|
51
51
|
"secp256k1": "^5.0.1",
|
|
52
52
|
"tiny-secp256k1": "~2.2.4"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@types/node": "^22.
|
|
56
|
-
"cross-env": "
|
|
55
|
+
"@types/node": "^22.18.5",
|
|
56
|
+
"cross-env": "10.0.0",
|
|
57
57
|
"eslint": "8.56.0",
|
|
58
58
|
"eslint-config-standard": "^17.1.0",
|
|
59
59
|
"eslint-plugin-import": "^2.32.0",
|
|
60
|
-
"eslint-plugin-n": "^17.
|
|
60
|
+
"eslint-plugin-n": "^17.23.0",
|
|
61
61
|
"eslint-plugin-promise": "^7.2.1",
|
|
62
62
|
"protobufjs-cli": "^1.1.3",
|
|
63
63
|
"typescript": "^5.9.2"
|