@witnet/sdk 1.0.0-beta.5 → 1.0.3

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.
Files changed (66) hide show
  1. package/dist/package.json +3 -1
  2. package/dist/src/bin/helpers.d.ts +1 -0
  3. package/dist/src/bin/helpers.d.ts.map +1 -1
  4. package/dist/src/bin/helpers.js +12 -2
  5. package/dist/src/lib/crypto/interfaces.d.ts +7 -0
  6. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  7. package/dist/src/lib/crypto/interfaces.js +1 -1
  8. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +2 -2
  9. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  10. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +8 -8
  11. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  12. package/dist/src/lib/crypto/payloads.js +1 -12
  13. package/dist/src/lib/crypto/signer.d.ts +8 -1
  14. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  15. package/dist/src/lib/crypto/signer.js +23 -2
  16. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +0 -1
  17. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  18. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -2
  19. package/dist/src/lib/crypto/types.d.ts +2 -2
  20. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  21. package/dist/src/lib/crypto/types.js +4 -5
  22. package/dist/src/lib/crypto/utils.d.ts +2 -1
  23. package/dist/src/lib/crypto/utils.d.ts.map +1 -1
  24. package/dist/src/lib/crypto/utils.js +6 -1
  25. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  26. package/dist/src/lib/crypto/wallet.js +1 -4
  27. package/dist/src/lib/radon/ccdr/wit.d.ts +11 -0
  28. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  29. package/dist/src/lib/radon/ccdr/wit.js +17 -2
  30. package/dist/src/lib/radon/index.d.ts +1 -1
  31. package/dist/src/lib/radon/index.d.ts.map +1 -1
  32. package/dist/src/lib/radon/index.js +9 -3
  33. package/dist/src/lib/rpc/provider.d.ts +5 -3
  34. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  35. package/dist/src/lib/rpc/provider.js +14 -3
  36. package/dist/src/lib/rpc/reporter.d.ts +2 -3
  37. package/dist/src/lib/rpc/reporter.d.ts.map +1 -1
  38. package/dist/src/lib/rpc/reporter.js +1 -4
  39. package/dist/src/lib/rpc/types.d.ts +49 -24
  40. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  41. package/dist/src/lib/rpc/types.js +3 -1
  42. package/dist/src/lib/types.d.ts +1 -1
  43. package/dist/src/lib/types.d.ts.map +1 -1
  44. package/dist/src/lib/types.js +1 -1
  45. package/dist/src/lib/utils.d.ts +3 -2
  46. package/dist/src/lib/utils.d.ts.map +1 -1
  47. package/dist/src/lib/utils.js +16 -9
  48. package/dist/witnet/assets/index.d.ts +6 -6
  49. package/dist/witnet/assets/modals/index.d.ts +10 -11
  50. package/dist/witnet/assets/modals/index.js +2 -12
  51. package/dist/witnet/assets/modals/web3/ipfs.d.ts +5 -0
  52. package/dist/witnet/assets/modals/web3/ipfs.d.ts.map +1 -0
  53. package/dist/witnet/assets/modals/web3/ipfs.js +16 -0
  54. package/dist/witnet/assets/modals/web3/wit.d.ts +1 -1
  55. package/dist/witnet/assets/modals/web3/wit.js +6 -9
  56. package/dist/witnet/assets/requests.js +1 -1
  57. package/package.json +3 -1
  58. package/src/bin/cli/inspect.js +49 -3
  59. package/src/bin/cli/network.js +9 -7
  60. package/src/bin/cli/radon.js +3 -3
  61. package/src/bin/cli/wallet.js +164 -47
  62. package/src/bin/helpers.js +13 -2
  63. package/witnet/assets/modals/index.js +1 -17
  64. package/witnet/assets/modals/web3/ipfs.js +19 -0
  65. package/witnet/assets/modals/web3/wit.js +4 -6
  66. package/witnet/assets/requests.js +1 -0
@@ -289,8 +289,12 @@ class JsonRpcProvider {
289
289
  async getBlock(blockHash, showTransactionHash = false) {
290
290
  return this.callApiMethod(types_2.Methods.GetBlock, [blockHash, showTransactionHash,]);
291
291
  }
292
- async getDataRequest(drTxHash) {
293
- return this.callApiMethod(types_2.Methods.DataRequestReport, [drTxHash,]);
292
+ async getDataRequest(drTxHash, mode, force = false) {
293
+ return this.callApiMethod(types_2.Methods.GetDataRequest, {
294
+ hash: drTxHash,
295
+ mode: mode || "full",
296
+ force
297
+ });
294
298
  }
295
299
  /// Get the blocks that pertain to the superblock index
296
300
  async getSuperblock(epoch) {
@@ -322,6 +326,13 @@ class JsonRpcProvider {
322
326
  }));
323
327
  });
324
328
  }
329
+ async getValueTransfer(txHash, mode, force = false) {
330
+ return this.callApiMethod(types_2.Methods.GetValueTransfer, {
331
+ hash: txHash,
332
+ mode: mode,
333
+ force
334
+ });
335
+ }
325
336
  /// ---------------------------------------------------------------------------------------------------------------
326
337
  async sendRawTransaction(transaction) {
327
338
  return this.callApiMethod(types_2.Methods.Inventory, { transaction });
@@ -333,4 +344,4 @@ class JsonRpcProvider {
333
344
  }
334
345
  exports.JsonRpcProvider = JsonRpcProvider;
335
346
  JsonRpcProvider.receipts = {};
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBc0Q7QUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLDJDQUE4QztBQUM5QyxNQUFNLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFBO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCwyQ0FBb0Y7QUFFcEYsZ0RBQWlDO0FBRWpDLG1DQU1nQjtBQThCaEIsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBSTNDLFlBQVksTUFBYyxFQUFFLE1BQWEsRUFBRSxLQUFXO1FBQ2xELEtBQUssQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hFLE9BQU8sS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN4QixDQUFDO0NBQ0o7QUFYRCxvREFXQztBQUVELE1BQWEsZUFBZTtJQVN4Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBWTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksMEJBQTBCLENBQUMsQ0FBQTtJQUM1RyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBVztRQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFlBQVksR0FBWTtRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNuQixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixNQUFNLENBQUMsTUFBTSxFQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ2xFLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxNQUFNLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRSxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksMEJBQTBCLENBQUMsQ0FBQTtRQUMxRixDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9CQUFZLENBQUM7WUFDN0IsY0FBYyxFQUFFLGtCQUFrQjtTQUNyQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDOUYsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUE7WUFDbkIsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztZQUNyRCxHQUFHLENBQUMsYUFBYSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtZQUMvRixHQUFHLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQTtZQUNwRSxHQUFHLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQTtZQUN2RSxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQTtZQUMxRCxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFBO1lBQ2xELEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFBO1lBQzFELEdBQUcsQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFBO1lBQ2hGLEdBQUcsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUE7WUFDOUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUE7WUFDM0YsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQTtZQUNsRCxHQUFHLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQTtZQUM3RCxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFBO1lBQy9DLEdBQUcsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUE7WUFDL0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixHQUFHLENBQUM7Z0JBQUUsR0FBRyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUE7WUFDdEcsR0FBRyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUE7WUFDN0QsR0FBRyxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUE7WUFDdkUsR0FBRyxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUE7WUFDNUUsR0FBRyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUE7WUFDNUQsR0FBRyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUE7WUFDckUsR0FBRyxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUE7WUFDakYsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsc0NBQXNDLENBQUE7WUFDaEcsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsb0NBQW9DLENBQUE7WUFDNUYsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUE7WUFDeEQsR0FBRyxDQUFDLDhCQUE4QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUE7WUFDdEYsbUJBQW1CO1lBQ25CLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDeEMsdUJBQXVCO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7WUFDaEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDcEQsb0JBQW9CO1lBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2hDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUM1QixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUE7SUFDcEIsQ0FBQztJQUVTLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFFUyxLQUFLLENBQUMsYUFBYSxDQUFJLE1BQWMsRUFBRSxNQUF5QjtRQUN0RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDMUIsT0FBTyxlQUFLO2FBQ1AsSUFBSSxDQUNELEdBQUcsRUFDSDtZQUNJLE9BQU8sRUFBRSxLQUFLO1lBQ2QsRUFBRSxFQUFFLENBQUUsSUFBSSxJQUFJLEVBQUU7WUFDaEIsTUFBTTtZQUNOLE1BQU07U0FDVCxFQUNEO1lBQ0ksT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3RCLGlCQUFpQixFQUFFLFVBQVMsUUFBUSxJQUFJLE9BQU8sT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsQ0FBQztTQUM3RSxDQUVKLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDckIsSUFBSSxRQUFRLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU3RixDQUFDOztnQkFBTSxPQUFPLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBVyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVELG1IQUFtSDtJQUVuSDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFnQixDQUFDLENBQUMsRUFBRSxRQUFnQixDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBaUIsZUFBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUcsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCw0Q0FBNEM7SUFDckMsS0FBSyxDQUFDLFNBQVM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQixPQUFPLElBQUk7aUJBQ04sYUFBYSxDQUFxQixlQUFPLENBQUMscUJBQXFCLENBQUM7aUJBQ2hFLElBQUksQ0FBQyxDQUFDLFNBQTZCLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7Z0JBQzNCLE9BQU8sU0FBUyxDQUFBO1lBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBQ1YsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFRCx3RUFBd0U7SUFDakUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLFVBQW1CO1FBQ3BELE9BQU8sSUFBSTthQUNOLGFBQWEsQ0FBdUMsZUFBTyxDQUFDLFdBQVcsRUFBRTtZQUN0RSxHQUFHLEVBQUU7Z0JBQ0QsVUFBVTtnQkFDVixHQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUN2QztTQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUErQyxFQUFFLEVBQUU7WUFDeEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFXLEVBQUUsQ0FBVyxFQUFFLEVBQUU7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFBO2dCQUM5QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtnQkFDOUMsSUFBSSxLQUFLLEdBQUcsS0FBSztvQkFBRSxPQUFPLENBQUMsQ0FBQztxQkFDdkIsSUFBSSxLQUFLLEdBQUcsS0FBSztvQkFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDOztvQkFDN0IsT0FBTyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBO1lBQ0QsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztpQkFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBd0IsRUFBRSxDQUF3QixFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQWEsQ0FBQyxDQUFDLENBQ3hILENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCwyQkFBMkI7SUFDcEIsS0FBSyxDQUFDLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFrQixlQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELG9DQUFvQztJQUM3QixLQUFLLENBQUMsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQVUsZUFBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCw0RUFBNEU7SUFDckUsS0FBSyxDQUFDLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFhLGVBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsMEZBQTBGO0lBQ25GLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBZSxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUVELHFEQUFxRDtJQUM5QyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQTBCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBc0IsZUFBTyxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3JGLENBQUM7SUFFRCxnR0FBZ0c7SUFDekYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFtQjtRQUNuQyxPQUFPLElBQUk7YUFDTixhQUFhLENBQW9CLGVBQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDO2FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULElBQUksR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUUsT0FBTyxFQUFFLENBQUE7WUFDYixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxHQUFHLENBQUE7WUFDYixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQsbUJBQW1CO0lBQ1osS0FBSyxDQUFDLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFhLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWdCLGVBQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFlO1FBQ2xDLHlFQUF5RTtRQUN6RSx1RUFBdUU7UUFDdkUscUVBQXFFO1FBQ3JFLG9EQUFvRDtRQUNwRCw4Q0FBOEM7UUFDOUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsT0FBTyxJQUFJO2FBQ04sTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQyw0REFBNEQ7YUFDbEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1osTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUE7WUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsNEVBQTRFO1FBQzVHLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkUsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsTUFBTSxVQUFVLEdBQStCLEVBQUUsQ0FBQTtZQUNqRCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNmLE1BQU0sR0FBRyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDNUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO29CQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQ1gsVUFBVSxDQUFDLE1BQU0sRUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUNuRSxDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQsbUhBQW1IO0lBQ25ILGVBQWU7SUFDUixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQXdCO1FBQzVDLE9BQU8sSUFBSTthQUNOLGFBQWEsQ0FBVyxlQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7YUFDckQsSUFBSSxDQUFDLENBQUMsT0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDOUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzlCLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUNyQyxDQUFDLENBQUMsQ0FBQTtJQUNYLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FDYixTQUFlLEVBQ2YsbUJBQW1CLEdBQUcsS0FBSztRQUcvQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQVEsZUFBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBRyxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBYztRQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQW9CLGVBQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRyxDQUFDLENBQUE7SUFDekYsQ0FBQztJQUVELHVEQUF1RDtJQUNoRCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQVk7UUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFtQixlQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBWTtRQUNwQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQW9CLGVBQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLEVBQUcsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTSxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBWTtRQUMzQywwREFBMEQ7UUFDMUQsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxhQUFhO0lBQ04sS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUF3QixFQUFFLFVBQVUsR0FBRyxJQUFJO1FBQzdELE9BQU8sSUFBSTthQUNOLGFBQWEsQ0FBVyxlQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxFQUFHLENBQUM7YUFDckQsSUFBSSxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNwQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM5QixJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUs7b0JBQUUsT0FBTyxRQUFRLENBQUM7cUJBQ2xDLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSztvQkFBRSxPQUFPLENBQUUsUUFBUSxDQUFDOztvQkFDekMsT0FBTyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUIsR0FBRyxJQUFJO2dCQUNQLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUM1QixDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUVELG1IQUFtSDtJQUM1RyxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBZ0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFVLGVBQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxtQkFBbUI7SUFDWixLQUFLLENBQUMsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWEsZUFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7O0FBMVRMLDBDQTJUQztBQXZUaUIsd0JBQVEsR0FBcUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBheGlvcywgQXhpb3NIZWFkZXJzIH0gZnJvbSBcImF4aW9zXCJcclxuY29uc3QganNvbkJpZyA9IHJlcXVpcmUoJ2pzb24tYmlnaW50Jyk7XHJcbmltcG9ydCB7IFJvb3QgYXMgUHJvdG9Sb290IH0gZnJvbSBcInByb3RvYnVmanNcIlxyXG5jb25zdCBwcm90b1Jvb3QgPSBQcm90b1Jvb3QuZnJvbUpTT04ocmVxdWlyZShcIi4uLy4uLy4uL3dpdG5ldC93aXRuZXQucHJvdG8uanNvblwiKSkgXHJcbmNvbnN0IHByb3RvQnVmID0gcHJvdG9Sb290Lmxvb2t1cFR5cGUoXCJDb25zZW5zdXNDb25zdGFudHNcIilcclxuXHJcbmltcG9ydCB7IFB1YmxpY0tleSwgUHVibGljS2V5SGFzaFN0cmluZywgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSBcIi4uL2NyeXB0by90eXBlc1wiXHJcbmltcG9ydCB7IEVwb2NoLCBIYXNoLCBOZXR3b3JrLCBVdHhvTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXNcIlxyXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi4vdXRpbHNcIlxyXG5cclxuaW1wb3J0IHtcclxuICAgIEJhbGFuY2UsIEJhbGFuY2UyLCBCbG9jaywgQ29uc2Vuc3VzQ29uc3RhbnRzLCBEYXRhUmVxdWVzdFJlcG9ydCwgXHJcbiAgICBNZW1wb29sLCBNZXRob2RzLCBQZWVyQWRkciwgUHJpb3JpdGllcywgUHJvdG9jb2xJbmZvLCBcclxuICAgIFF1ZXJ5U3Rha2VzLCBRdWVyeVN0YWtpbmdQb3dlcnMsXHJcbiAgICBUcmFuc2FjdGlvblJlcG9ydCwgU2lnbmFsaW5nSW5mbywgU3Rha2VFbnRyeSwgU3Rha2luZ1Bvd2VyLCBcclxuICAgIFN1cGVyYmxvY2tSZXBvcnQsIFN1cHBseUluZm8sIFN5bmNTdGF0dXMsIFV0eG9JbmZvLFxyXG59IGZyb20gXCIuL3R5cGVzXCJcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25ScGNQcm92aWRlciB7XHJcbiAgICBuZXR3b3JrPzogTmV0d29yaztcclxuICAgIG5ldHdvcmtJZD86IG51bWJlcjtcclxuICAgIFxyXG4gICAgYmxvY2tzKHNpbmNlOiBFcG9jaCwgbGltaXQ6IG51bWJlcik6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaC8qLCBQdWJsaWNLZXlIYXNoU3RyaW5nKi9dPj47XHJcbiAgICBjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+O1xyXG4gICAgaG9sZGVycyhsaW1pdD86IG51bWJlcik6IFByb21pc2U8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPj4gXHJcbiAgICBtZW1wb29sKCk6IFByb21pc2U8TWVtcG9vbD47XHJcbiAgICBwb3dlcnMocGFyYW1zPzogUXVlcnlTdGFraW5nUG93ZXJzKTogUHJvbWlzZTxBcnJheTxTdGFraW5nUG93ZXI+PjtcclxuICAgIHByaW9yaXRpZXMoKTogUHJvbWlzZTxQcmlvcml0aWVzPjtcclxuICAgIHByb3RvY29sSW5mbygpOiBQcm9taXNlPFByb3RvY29sSW5mbz47XHJcbiAgICBzdGFrZXMocGFyYW1zOiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+OyBcclxuICAgIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPjtcclxuICAgIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxhbnk+O1xyXG4gICAgd2lwcygpOiBQcm9taXNlPFNpZ25hbGluZ0luZm8+O1xyXG4gICAgd2l0bmVzc2VzKCk6IFByb21pc2U8bnVtYmVyPjtcclxuXHJcbiAgICBnZXRCYWxhbmNlKHBraDogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QmFsYW5jZTI+O1xyXG4gICAgZ2V0QmxvY2soYmxvY2tIYXNoOiBIYXNoLCBzaG93VHJhbnNhY3Rpb25IYXNoZXM/OiBib29sZWFuKTogUHJvbWlzZTxCbG9jaz47XHJcbiAgICBnZXREYXRhUmVxdWVzdChkclR4SGFzaDogSGFzaCk6IFByb21pc2U8RGF0YVJlcXVlc3RSZXBvcnQ+O1xyXG4gICAgZ2V0U3VwZXJibG9jayhlcG9jaDogRXBvY2gpOiBQcm9taXNlPFN1cGVyYmxvY2tSZXBvcnQ+O1xyXG4gICAgZ2V0VHJhbnNhY3Rpb24odHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlcG9ydD47XHJcbiAgICBnZXRUcmFuc2FjdGlvblJlY2VpcHQodHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlY2VpcHQ+O1xyXG4gICAgZ2V0VXR4b3MocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBzbWFsbGVzdEZpcnN0PzogYm9vbGVhbik6IFByb21pc2U8QXJyYXk8VXR4b01ldGFkYXRhPj47XHJcbiAgICAgICAgXHJcbiAgICBzZW5kUmF3VHJhbnNhY3Rpb24odHg6IGFueSk6IFByb21pc2U8Ym9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uUnBjUHJvdmlkZXJFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICAgIHJlYWRvbmx5IGVycm9yPzogYW55O1xyXG4gICAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBwYXJhbXM6IGFueVtdO1xyXG4gICAgY29uc3RydWN0b3IobWV0aG9kOiBzdHJpbmcsIHBhcmFtczogYW55W10sIGVycm9yPzogYW55KSB7XHJcbiAgICAgICAgc3VwZXIoYCR7bWV0aG9kfSgke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9KTogJHtKU09OLnN0cmluZ2lmeShlcnJvcil9KWApXHJcbiAgICAgICAgZGVsZXRlIGVycm9yPy5zdGFja1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvclxyXG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXHJcbiAgICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXNcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBpbXBsZW1lbnRzIElKc29uUnBjUHJvdmlkZXIge1xyXG4gICAgXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRzOiBzdHJpbmdbXVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgcmVjZWlwdHM6IFJlY29yZDxIYXNoLCBUcmFuc2FjdGlvblJlY2VpcHQ+ID0ge307XHJcblxyXG4gICAgcHJvdGVjdGVkIF9jb25zdGFudHM/OiBDb25zZW5zdXNDb25zdGFudHNcclxuICAgIHByb3RlY3RlZCBfaGVhZGVyczogQXhpb3NIZWFkZXJzO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIEpzb25ScGNQcm92aWRlciBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBkZWZhdWx0IFdpdC9SUEMgZW5kcG9pbnQuXHJcbiAgICAgKiBEZWZhdWx0cyB0byBodHRwczovL3JwYy0wMS53aXRuZXQuaW8gaWYgbm8gV0lUTkVUX1NES19QUk9WSURFUl9VUkwgZW52YXIgaXMgc2V0dGxlZFxyXG4gICAgICogb24gdGhlIGVudmlyb25tZW50LlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbUVudih1cmw/OiBzdHJpbmcpOiBQcm9taXNlPEpzb25ScGNQcm92aWRlcj4ge1xyXG4gICAgICAgIHJldHVybiBKc29uUnBjUHJvdmlkZXIuZnJvbVVSTCh1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIilcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBKc29uUnBjUHJvdmlkZXIgb2JqZWN0IGNvbm5lY3RlZCB0byB0aGUgc3BlY2lmaWVkIFdpdC9SUEMgZW5kcG9pbnQuXHJcbiAgICAgKiBAcGFyYW0gdXJsIFdpdC9SUEMgZW5kcG9pbnQgVVJMLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbVVSTCh1cmw6IHN0cmluZyk6IFByb21pc2U8SnNvblJwY1Byb3ZpZGVyPiB7XHJcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgSnNvblJwY1Byb3ZpZGVyKHVybClcclxuICAgICAgICByZXR1cm4gcHJvdmlkZXIuY29uc3RhbnRzKCkudGhlbigoKSA9PiBwcm92aWRlcilcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih1cmw/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVuZHBvaW50cyA9IFtdXHJcbiAgICAgICAgaWYgKHVybCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybHMgPSB1cmwucmVwbGFjZUFsbCgnLCcsICc7Jykuc3BsaXQoJzsnKVxyXG4gICAgICAgICAgICB1cmxzLmZvckVhY2godXJsID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtzY2hlbWEsIF0gPSB1dGlscy5wYXJzZVVSTCh1cmwpXHJcbiAgICAgICAgICAgICAgICBpZiAoIXNjaGVtYS5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJiAhc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBXaXRuZXQuSnNvblJwY1Byb3ZpZGVyOiB1bnN1cHBvcnRlZCBVUkwgc2NoZW1hICR7c2NoZW1hfWApXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRzID0gdXJsc1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRzLnB1c2gocHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIilcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faGVhZGVycyA9IG5ldyBBeGlvc0hlYWRlcnMoeyBcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG5ldHdvcmsoKTogTmV0d29yayB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbnN0YW50cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcHBpbmdfY29tbWl0dGVlWzBdLnN0YXJ0c1dpdGgoJ3dpdCcpID8gXCJtYWlubmV0XCI6IFwidGVzdG5ldFwiXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG5ldHdvcmtJZCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9jb25zdGFudHMpIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqOiBhbnkgPSB7fVxyXG4gICAgICAgICAgICBvYmouYWN0aXZpdHlQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuYWN0aXZpdHlfcGVyaW9kO1xyXG4gICAgICAgICAgICBvYmouYm9vdHN0cmFwSGFzaCA9IHsgU0hBMjU2OiBBcnJheS5mcm9tKHV0aWxzLmZyb21IZXhTdHJpbmcodGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcF9oYXNoKSkgfVxyXG4gICAgICAgICAgICBvYmouYm9vdHN0cmFwcGluZ0NvbW1pdHRlZSA9IHRoaXMuX2NvbnN0YW50cy5ib290c3RyYXBwaW5nX2NvbW1pdHRlZVxyXG4gICAgICAgICAgICBvYmouY2hlY2twb2ludFplcm9UaW1lc3RhbXAgPSB0aGlzLl9jb25zdGFudHMuY2hlY2twb2ludF96ZXJvX3RpbWVzdGFtcFxyXG4gICAgICAgICAgICBvYmouY2hlY2twb2ludHNQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuY2hlY2twb2ludHNfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5jb2xsYXRlcmFsQWdlID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfYWdlXHJcbiAgICAgICAgICAgIG9iai5jb2xsYXRlcmFsTWluaW11bSA9IHRoaXMuX2NvbnN0YW50cy5jb2xsYXRlcmFsX21pbmltdW1cclxuICAgICAgICAgICAgb2JqLmVwb2Noc1dpdGhNaW5pbXVtRGlmZmljdWx0eSA9IHRoaXMuX2NvbnN0YW50cy5lcG9jaHNfd2l0aF9taW5pbXVtX2RpZmZpY3VsdHlcclxuICAgICAgICAgICAgb2JqLmV4dHJhUm91bmRzID0gdGhpcy5fY29uc3RhbnRzLmV4dHJhX3JvdW5kc1xyXG4gICAgICAgICAgICBvYmouZ2VuZXNpc0hhc2ggPSB7IFNIQTI1NjogQXJyYXkuZnJvbSh1dGlscy5mcm9tSGV4U3RyaW5nKHRoaXMuX2NvbnN0YW50cy5nZW5lc2lzX2hhc2gpKSB9XHJcbiAgICAgICAgICAgIG9iai5oYWx2aW5nUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmhhbHZpbmdfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5pbml0aWFsQmxvY2tSZXdhcmQgPSB0aGlzLl9jb25zdGFudHMuaW5pdGlhbF9ibG9ja19yZXdhcmRcclxuICAgICAgICAgICAgb2JqLm1heERyV2VpZ2h0ID0gdGhpcy5fY29uc3RhbnRzLm1heF9kcl93ZWlnaHRcclxuICAgICAgICAgICAgb2JqLm1heFZ0V2VpZ2h0ID0gdGhpcy5fY29uc3RhbnRzLm1heF92dF93ZWlnaHRcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHkgPiAwKSBvYmoubWluaW11bURpZmZpY3VsdHkgPSB0aGlzLl9jb25zdGFudHMubWluaW11bV9kaWZmaWN1bHR5XHJcbiAgICAgICAgICAgIG9iai5taW5pbmdCYWNrdXBGYWN0b3IgPSB0aGlzLl9jb25zdGFudHMubWluaW5nX2JhY2t1cF9mYWN0b3JcclxuICAgICAgICAgICAgb2JqLm1pbmluZ1JlcGxpY2F0aW9uRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLm1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3JcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25FeHBpcmVBbHBoYURpZmYgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9leHBpcmVfYWxwaGFfZGlmZlxyXG4gICAgICAgICAgICBvYmoucmVwdXRhdGlvbklzc3VhbmNlID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25faXNzdWFuY2VcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25Jc3N1YW5jZVN0b3AgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wXHJcbiAgICAgICAgICAgIG9iai5yZXB1dGF0aW9uUGVuYWxpemF0aW9uRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25fcGVuYWxpemF0aW9uX2ZhY3RvclxyXG4gICAgICAgICAgICBvYmouc3VwZXJibG9ja0NvbW1pdHRlZURlY3JlYXNpbmdQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nU3RlcCA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXBcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tTaWduaW5nQ29tbWl0dGVlU2l6ZSA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX3NpZ25pbmdfY29tbWl0dGVlX3NpemVcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob2JqKVxyXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gcHJvdG9CdWYuZnJvbU9iamVjdChvYmopXHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG1lc3NhZ2UpXHJcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IHByb3RvQnVmLmVuY29kZShtZXNzYWdlKS5maW5pc2goKVxyXG4gICAgICAgICAgICBjb25zdCBoYXNoID0gdXRpbHMudG9IZXhTdHJpbmcodXRpbHMuc2hhMjU2KGJ1ZmZlcikpIFxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhoYXNoKVxyXG4gICAgICAgICAgICBjb25zdCBoZXggPSBoYXNoLnN1YnN0cmluZygwLCA0KVxyXG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoaGV4LCAxNilcclxuICAgICAgICB9IFxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIG5leHRVUkwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdGhpcy5lbmRwb2ludHMubGVuZ3RoKV1cclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlNZXRob2Q8VD4obWV0aG9kOiBzdHJpbmcsIHBhcmFtcz86IEFycmF5PGFueT4gfCBhbnkgKTogUHJvbWlzZTxFcnJvciB8IGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMubmV4dFVSTCgpXHJcbiAgICAgICAgcmV0dXJuIGF4aW9zXHJcbiAgICAgICAgICAgIC5wb3N0KFxyXG4gICAgICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGpzb25ycGM6ICcyLjAnLFxyXG4gICAgICAgICAgICAgICAgICAgIGlkOiArIG5ldyBEYXRlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1SZXNwb25zZTogZnVuY3Rpb24ocmVzcG9uc2UpIHsgcmV0dXJuIGpzb25CaWcoKS5wYXJzZShyZXNwb25zZSkgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEpzb25ScGNQcm92aWRlckVycm9yKG1ldGhvZCwgcGFyYW1zLCByZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgcmV0dXJuIHJlc3BvbnNlPy5kYXRhPy5yZXN1bHQgYXMgVDtcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBcclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBsaXN0IG9mIGJsb2NrIGhhc2hlcyB3aXRoaW4gZ2l2ZW4gcmFuZ2UsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzaW5jZSAtIEZpcnN0IGVwb2NoIGZvciB3aGljaCB0byByZXR1cm4gYmxvY2sgaGFzaGVzLiBJZiBuZWdhdGl2ZSwgcmV0dXJuIGJsb2NrIGhhc2hlcyBmcm9tIHRoZSBsYXN0IG4gZXBvY2hzLlxyXG4gICAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdCAtIE51bWJlciBvZiBibG9jayBoYXNoZXMgdG8gcmV0dXJuLiBJZiBuZWdhdGl2ZSwgcmV0dXJuIHRoZSBsYXN0IG4gYmxvY2sgaGFzaGVzIGZyb20gdGhpcyBlcG9jaCByYW5nZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIGJsb2NrcyhzaW5jZTogbnVtYmVyID0gLTEsIGxpbWl0OiBudW1iZXIgPSAxLCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaF0+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxbTnVtYmVyLCBIYXNoXT4oTWV0aG9kcy5HZXRCbG9ja0NoYWluLCBbc2luY2UsIGxpbWl0LCBdKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBjb25zZW5zdXMgY29uc3RhbnRzIHVzZWQgYnkgdGhlIG5vZGVcclxuICAgIHB1YmxpYyBhc3luYyBjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2NvbnN0YW50cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8Q29uc2Vuc3VzQ29uc3RhbnRzPihNZXRob2RzLkdldENvbnNlbnN1c0NvbnN0YW50cylcclxuICAgICAgICAgICAgICAgIC50aGVuKChjb25zdGFudHM6IENvbnNlbnN1c0NvbnN0YW50cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnN0YW50cyA9IGNvbnN0YW50c1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25zdGFudHNcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0YW50c1xyXG4gICAgICAgIH0gICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8vIEdldCBsaW1pdGVkIGxpc3Qgb2YgY3VycmVudGx5IHRvcCBob2xkZXJzLCBhcyBrbm93biBieSB0aGUgcHJvdmlkZXIuXHJcbiAgICBwdWJsaWMgYXN5bmMgaG9sZGVycyhtaW5CYWxhbmNlID0gMCwgbWF4QmFsYW5jZT86IG51bWJlcik6IFByb21pc2U8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlPj4oTWV0aG9kcy5HZXRCYWxhbmNlMiwge1xyXG4gICAgICAgICAgICAgICAgYWxsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluQmFsYW5jZSxcclxuICAgICAgICAgICAgICAgICAgICAuLi4gbWF4QmFsYW5jZSA/IHsgbWF4QmFsYW5jZSB9IDoge31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkudGhlbigoYmFsYW5jZXM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJldmVyc2VDb21wYXJlID0gKGE6IEJhbGFuY2UyLCBiOiBCYWxhbmNlMikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFfdG90ID0gYS5sb2NrZWQgKyBhLnVubG9ja2VkICsgYS5zdGFrZWRcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiX3RvdCA9IGIubG9ja2VkICsgYi51bmxvY2tlZCArIGIuc3Rha2VkXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFfdG90IDwgYl90b3QpIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFfdG90ID4gYl90b3QpIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhiYWxhbmNlcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGE6IChzdHJpbmcgfCBCYWxhbmNlMilbXSwgYjogKHN0cmluZyB8IEJhbGFuY2UyKVtdKSA9PiByZXZlcnNlQ29tcGFyZShhWzFdIGFzIEJhbGFuY2UyLCBiWzFdIGFzIEJhbGFuY2UyKSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgbGlzdCBvZiBrbm93biBwZWVyc1xyXG4gICAgcHVibGljIGFzeW5jIGtub3duUGVlcnMoKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFBlZXJBZGRyPj4oTWV0aG9kcy5Lbm93blBlZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBhbGwgdGhlIHBlbmRpbmcgdHJhbnNhY3Rpb25zXHJcbiAgICBwdWJsaWMgYXN5bmMgbWVtcG9vbCgpOiBQcm9taXNlPE1lbXBvb2w+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPE1lbXBvb2w+KE1ldGhvZHMuR2V0TWVtcG9vbCk7XHJcbiAgICB9ICAgIFxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHByaW9yaXR5IGFuZCB0aW1lLXRvLWJsb2NrIGVzdGltYXRpb25zIGZvciBkaWZmZXJlbnQgcHJpb3JpdHkgdGllcnMuXHJcbiAgICBwdWJsaWMgYXN5bmMgcHJpb3JpdGllcygpOiBQcm9taXNlPFByaW9yaXRpZXM+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByaW9yaXRpZXM+KE1ldGhvZHMuUHJpb3JpdHkpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgaW5mb3JtYXRpb24gYWJvdXQgcHJvdG9jb2wgdmVyc2lvbnMgYW5kIHdoaWNoIHZlcnNpb24gaXMgY3VycmVudGx5IGJlaW5nIGVuZm9yY2VkLlxyXG4gICAgcHVibGljIGFzeW5jIHByb3RvY29sSW5mbygpOiBQcm9taXNlPFByb3RvY29sSW5mbz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8UHJvdG9jb2xJbmZvPihNZXRob2RzLlByb3RvY29sKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGEgZnVsbCBsaXN0IG9mIHN0YWtpbmcgcG93ZXJzIG9yZGVyZWQgYnkgcmFua1xyXG4gICAgcHVibGljIGFzeW5jIHBvd2VycyhxdWVyeT86IFF1ZXJ5U3Rha2luZ1Bvd2Vycyk6IFByb21pc2U8QXJyYXk8U3Rha2luZ1Bvd2VyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8U3Rha2luZ1Bvd2VyPj4oTWV0aG9kcy5RdWVyeVN0YWtpbmdQb3dlcnMsIHF1ZXJ5KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGEgZnVsbCBsaXN0IG9mIGN1cnJlbnQgc3Rha2UgZW50cmllcyAgUXVlcnkgdGhlIGFtb3VudCBvZiBuYW5vd2l0cyBzdGFrZWQgYnkgYW4gYWRkcmVzcy5cclxuICAgIHB1YmxpYyBhc3luYyBzdGFrZXMocXVlcnk/OiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxBcnJheTxTdGFrZUVudHJ5Pj4oTWV0aG9kcy5RdWVyeVN0YWtlcywgcXVlcnkpXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycj8uZXJyb3I/Lm1lc3NhZ2UgJiYgZXJyLmVycm9yLm1lc3NhZ2UuaW5kZXhPZihcIm5vdCByZWdpc3RlcmVkXCIpID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW11cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgbm9kZSBzdGF0dXNcclxuICAgIHB1YmxpYyBhc3luYyBzeW5jU3RhdHVzKCk6IFByb21pc2U8U3luY1N0YXR1cz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3luY1N0YXR1cz4oTWV0aG9kcy5TeW5jU3RhdHVzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIHdpcHMoKTogUHJvbWlzZTxTaWduYWxpbmdJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTaWduYWxpbmdJbmZvPihNZXRob2RzLlNpZ25hbGluZ0luZm8pXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHdpdG5lc3Nlcyhfc2luY2U/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgICAgIC8vIHRvZG86IHdpdG5lc3NlcyBlc3RpbWF0aW9uIHNob3VsZCBpbnN0ZWFkIGJlIGNvbXB1dGVkIGluIHByb3BvcnRpb24gdG9cclxuICAgICAgICAvLyAgICAgICByYXRpbyBvZiB2YWxpZGF0b3JzIHRoYXQgaGF2ZSBob25lc3RseSB3aXRuZXNzZWQgZGF0YSByZXF1ZXN0c1xyXG4gICAgICAgIC8vICAgICAgIHZzIHZhbGlkYXRvcnMgdGhhdCBoYXZlIGhvbmVzdGx5IHdpdG5lc3NlZCBkYXRhIHJlcXVlc3RzIGFuZFxyXG4gICAgICAgIC8vICAgICAgIG5ldmVyIHJldmVhbGVkIFwiaSBwYXNzZWRcIiBvdXQgb2YgbWFqb3JpdHksIFxyXG4gICAgICAgIC8vICAgICAgIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGVwb2Nocy5cclxuICAgICAgICBsZXQgY2Vuc3VzID0gMFxyXG4gICAgICAgIHJldHVybiB0aGlzIFxyXG4gICAgICAgICAgICAuc3Rha2VzKHsgcGFyYW1zOiB7IGRpc3RpbmN0OiB0cnVlIH19KSAvLyB0b2RvOiBpbXBsZW1lbnQgYGNvdW50YCBmbGFnIG9uIElKc29uUnBjUHJvdmlkZXIuc3Rha2VzKClcclxuICAgICAgICAgICAgLnRoZW4ocmVjb3JkcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjZW5zdXMgPSByZWNvcmRzLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmxvY2tzKC0xNiwgMTYpIC8vIHRvZG86IGJsb2NrcygpIHNob3VsZCByZXR1cm4gZXBvY2gsIGhhc2ggYW5kIHZhbGlkYXRvciBwa2ggZm9yIGVhY2ggYmxvY2tcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4ocmVjb3JkcyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVjb3Jkcy5tYXAocmVjb3JkID0+IHRoaXMuZ2V0QmxvY2socmVjb3JkWzFdKSkpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGJsb2NrcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBBcnJheTxQdWJsaWNLZXlIYXNoU3RyaW5nPiA9IFtdXHJcbiAgICAgICAgICAgICAgICBibG9ja3MubWFwKGJsb2NrID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwa2ggPSBQdWJsaWNLZXkuZnJvbVByb3RvYnVmKGJsb2NrLmJsb2NrX3NpZy5wdWJsaWNfa2V5KS5oYXNoKCkudG9CZWNoMzIodGhpcy5uZXR3b3JrKVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWRhdG9ycy5pbmNsdWRlcyhwa2gpKSB2YWxpZGF0b3JzLnB1c2gocGtoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcih0aGlzLm5ldHdvcmsgPT09IFwidGVzdG5ldFwiID8gY2Vuc3VzIC8gMiA6IGNlbnN1cyAvIDQpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vLyBHZXQgYmFsYW5jZVxyXG4gICAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nKTogUHJvbWlzZTxCYWxhbmNlMj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPEJhbGFuY2UyPihNZXRob2RzLkdldEJhbGFuY2UyLCB7IHBraCB9KVxyXG4gICAgICAgICAgICAudGhlbigoYmFsYW5jZTogQmFsYW5jZTIpID0+ICh7XHJcbiAgICAgICAgICAgICAgICBsb2NrZWQ6IEJpZ0ludChiYWxhbmNlLmxvY2tlZCksXHJcbiAgICAgICAgICAgICAgICBzdGFrZWQ6IEJpZ0ludChiYWxhbmNlLnN0YWtlZCksXHJcbiAgICAgICAgICAgICAgICB1bmxvY2tlZDogQmlnSW50KGJhbGFuY2UudW5sb2NrZWQpLFxyXG4gICAgICAgICAgICB9KSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgYmxvY2sgaW5mbyBieSBoYXNoXHJcbiAgICAgKiBAcGFyYW0ge0hhc2h9IGJsb2NrSGFzaCAtIEhhc2ggb2YgdGhlIGJsb2NrIHRoYXQgd2UgYXJlIHF1ZXJ5aW5nLlxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBzaG93VHJhbnNhY3Rpb25IYXNoIC0gV2hldGhlciB0byBpbmNsdWRlIGFuIGV4dHJhIGZpZWxkIGNvbnRhaW5pbmcgYXJyYXkgb2YgdHJhbnNhY3Rpb24gaGFzaGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QmxvY2soXHJcbiAgICAgICAgICAgIGJsb2NrSGFzaDogSGFzaCxcclxuICAgICAgICAgICAgc2hvd1RyYW5zYWN0aW9uSGFzaCA9IGZhbHNlLFxyXG4gICAgICAgICk6IFByb21pc2U8QmxvY2s+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxCbG9jaz4oTWV0aG9kcy5HZXRCbG9jaywgW2Jsb2NrSGFzaCwgc2hvd1RyYW5zYWN0aW9uSGFzaCwgXSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIGdldERhdGFSZXF1ZXN0KGRyVHhIYXNoOiBIYXNoKTogUHJvbWlzZTxEYXRhUmVxdWVzdFJlcG9ydD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8RGF0YVJlcXVlc3RSZXBvcnQ+KE1ldGhvZHMuRGF0YVJlcXVlc3RSZXBvcnQsIFtkclR4SGFzaCwgXSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCB0aGUgYmxvY2tzIHRoYXQgcGVydGFpbiB0byB0aGUgc3VwZXJibG9jayBpbmRleFxyXG4gICAgcHVibGljIGFzeW5jIGdldFN1cGVyYmxvY2soZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxTdXBlcmJsb2NrUmVwb3J0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBlcmJsb2NrUmVwb3J0PihNZXRob2RzLkdldFN1cGVyYmxvY2ssIHsgXCJibG9ja19lcG9jaFwiOiBlcG9jaCB9KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uKHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXBvcnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFRyYW5zYWN0aW9uUmVwb3J0PihNZXRob2RzLkdldFRyYW5zYWN0aW9uLCBbdHhIYXNoLCBdKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZWNlaXB0PiB7XHJcbiAgICAgICAgLy8gdG9kbzogZmV0Y2gvdXBkYXRlIHJlY2VpcHQgZnJvbSBwcm92aWRlciwgaWYgbm90IGNhY2hlZFxyXG4gICAgICAgIHJldHVybiBKc29uUnBjUHJvdmlkZXIucmVjZWlwdHNbdHhIYXNoXVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHV0eG9zXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXR4b3MocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLCBzbWFsbEZpcnN0ID0gdHJ1ZSk6IFByb21pc2U8QXJyYXk8VXR4b01ldGFkYXRhPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPFV0eG9JbmZvPihNZXRob2RzLkdldFV0eG9JbmZvLCBbcGtoLCBdKVxyXG4gICAgICAgICAgICAudGhlbigocmVzdWx0OiBVdHhvSW5mbykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW52ZXJzb3IgPSBzbWFsbEZpcnN0ID8gMSA6IC0xXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnV0eG9zLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYS52YWx1ZSA+IGIudmFsdWUpIHJldHVybiBpbnZlcnNvcjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChhLnZhbHVlIDwgYi52YWx1ZSkgcmV0dXJuIC0gaW52ZXJzb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gMDtcclxuICAgICAgICAgICAgICAgIH0pLm1hcCgodXR4bzogVXR4b01ldGFkYXRhKSA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnV0eG8sXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IEJpZ0ludCh1dHhvLnZhbHVlKSxcclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBwdWJsaWMgYXN5bmMgc2VuZFJhd1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuSW52ZW50b3J5LCB7IHRyYW5zYWN0aW9uIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLy8vIEdldCBzdXBwbHkgaW5mb1xyXG4gICAgcHVibGljIGFzeW5jIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBwbHlJbmZvPihNZXRob2RzLkdldFN1cHBseUluZm8pXHJcbiAgICB9XHJcbn0iXX0=
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBc0Q7QUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZDLDJDQUE4QztBQUM5QyxNQUFNLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFBO0FBQ2xGLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUUzRCwyQ0FBb0Y7QUFFcEYsZ0RBQWlDO0FBRWpDLG1DQU9nQjtBQStCaEIsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBSTNDLFlBQVksTUFBYyxFQUFFLE1BQWEsRUFBRSxLQUFXO1FBQ2xELEtBQUssQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3hFLE9BQU8sS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN4QixDQUFDO0NBQ0o7QUFYRCxvREFXQztBQUVELE1BQWEsZUFBZTtJQVN4Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBWTtRQUM3QixPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksMEJBQTBCLENBQUMsQ0FB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SUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLO29CQUFFLE9BQU8sQ0FBRSxRQUFRLENBQUM7O29CQUN6QyxPQUFPLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1QixHQUFHLElBQUk7Z0JBQ1AsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzVCLENBQUMsQ0FBQyxDQUFBO1FBQ1AsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQVksRUFBRSxJQUFhLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDcEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFNLGVBQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyRCxJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSztTQUNSLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxtSEFBbUg7SUFDNUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFdBQWdCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBVSxlQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRUQsbUJBQW1CO0lBQ1osS0FBSyxDQUFDLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFhLGVBQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNoRSxDQUFDOztBQXRVTCwwQ0F1VUM7QUFuVWlCLHdCQUFRLEdBQXFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHQgYXMgYXhpb3MsIEF4aW9zSGVhZGVycyB9IGZyb20gXCJheGlvc1wiXHJcbmNvbnN0IGpzb25CaWcgPSByZXF1aXJlKCdqc29uLWJpZ2ludCcpO1xyXG5pbXBvcnQgeyBSb290IGFzIFByb3RvUm9vdCB9IGZyb20gXCJwcm90b2J1ZmpzXCJcclxuY29uc3QgcHJvdG9Sb290ID0gUHJvdG9Sb290LmZyb21KU09OKHJlcXVpcmUoXCIuLi8uLi8uLi93aXRuZXQvd2l0bmV0LnByb3RvLmpzb25cIikpIFxyXG5jb25zdCBwcm90b0J1ZiA9IHByb3RvUm9vdC5sb29rdXBUeXBlKFwiQ29uc2Vuc3VzQ29uc3RhbnRzXCIpXHJcblxyXG5pbXBvcnQgeyBQdWJsaWNLZXksIFB1YmxpY0tleUhhc2hTdHJpbmcsIFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gXCIuLi9jcnlwdG8vdHlwZXNcIlxyXG5pbXBvcnQgeyBFcG9jaCwgSGFzaCwgTmV0d29yaywgVXR4b01ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzXCJcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4uL3V0aWxzXCJcclxuXHJcbmltcG9ydCB7XHJcbiAgICBCYWxhbmNlLCBCYWxhbmNlMiwgQmxvY2ssIENvbnNlbnN1c0NvbnN0YW50cywgXHJcbiAgICBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQsIEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQsIEdldERhdGFSZXF1ZXN0TW9kZSxcclxuICAgIE1lbXBvb2wsIE1ldGhvZHMsIFBlZXJBZGRyLCBQcmlvcml0aWVzLCBQcm90b2NvbEluZm8sIFxyXG4gICAgUXVlcnlTdGFrZXMsIFF1ZXJ5U3Rha2luZ1Bvd2VycyxcclxuICAgIFRyYW5zYWN0aW9uUmVwb3J0LCBTaWduYWxpbmdJbmZvLCBTdGFrZUVudHJ5LCBTdGFraW5nUG93ZXIsIFxyXG4gICAgU3VwZXJibG9ja1JlcG9ydCwgU3VwcGx5SW5mbywgU3luY1N0YXR1cywgVXR4b0luZm8sXHJcbn0gZnJvbSBcIi4vdHlwZXNcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSnNvblJwY1Byb3ZpZGVyIHtcclxuICAgIG5ldHdvcms/OiBOZXR3b3JrO1xyXG4gICAgbmV0d29ya0lkPzogbnVtYmVyO1xyXG4gICAgXHJcbiAgICBibG9ja3Moc2luY2U6IEVwb2NoLCBsaW1pdDogbnVtYmVyKTogUHJvbWlzZTxBcnJheTxbbnVtYmVyLCBIYXNoLyosIFB1YmxpY0tleUhhc2hTdHJpbmcqL10+PjtcclxuICAgIGNvbnN0YW50cygpOiBQcm9taXNlPENvbnNlbnN1c0NvbnN0YW50cz47XHJcbiAgICBob2xkZXJzKGxpbWl0PzogbnVtYmVyKTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+PiBcclxuICAgIG1lbXBvb2woKTogUHJvbWlzZTxNZW1wb29sPjtcclxuICAgIHBvd2VycyhwYXJhbXM/OiBRdWVyeVN0YWtpbmdQb3dlcnMpOiBQcm9taXNlPEFycmF5PFN0YWtpbmdQb3dlcj4+O1xyXG4gICAgcHJpb3JpdGllcygpOiBQcm9taXNlPFByaW9yaXRpZXM+O1xyXG4gICAgcHJvdG9jb2xJbmZvKCk6IFByb21pc2U8UHJvdG9jb2xJbmZvPjtcclxuICAgIHN0YWtlcyhwYXJhbXM6IFF1ZXJ5U3Rha2VzKTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj47IFxyXG4gICAgc3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+O1xyXG4gICAgc3luY1N0YXR1cygpOiBQcm9taXNlPGFueT47XHJcbiAgICB3aXBzKCk6IFByb21pc2U8U2lnbmFsaW5nSW5mbz47XHJcbiAgICB3aXRuZXNzZXMoKTogUHJvbWlzZTxudW1iZXI+O1xyXG5cclxuICAgIGdldEJhbGFuY2UocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nKTogUHJvbWlzZTxCYWxhbmNlMj47XHJcbiAgICBnZXRCbG9jayhibG9ja0hhc2g6IEhhc2gsIHNob3dUcmFuc2FjdGlvbkhhc2hlcz86IGJvb2xlYW4pOiBQcm9taXNlPEJsb2NrPjtcclxuICAgIGdldERhdGFSZXF1ZXN0KGRyVHhIYXNoOiBIYXNoLCBtb2RlPzogR2V0RGF0YVJlcXVlc3RNb2RlKTogUHJvbWlzZTxHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0PjtcclxuICAgIGdldFN1cGVyYmxvY2soZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxTdXBlcmJsb2NrUmVwb3J0PjtcclxuICAgIGdldFRyYW5zYWN0aW9uKHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXBvcnQ+O1xyXG4gICAgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZWNlaXB0PjtcclxuICAgIGdldFV0eG9zKHBraDogUHVibGljS2V5SGFzaFN0cmluZywgc21hbGxlc3RGaXJzdD86IGJvb2xlYW4pOiBQcm9taXNlPEFycmF5PFV0eG9NZXRhZGF0YT4+O1xyXG4gICAgZ2V0VmFsdWVUcmFuc2Zlcih0eEhhc2g6IEhhc2gsIG1vZGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XHJcbiAgICAgICAgXHJcbiAgICBzZW5kUmF3VHJhbnNhY3Rpb24odHg6IGFueSk6IFByb21pc2U8Ym9vbGVhbj47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uUnBjUHJvdmlkZXJFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICAgIHJlYWRvbmx5IGVycm9yPzogYW55O1xyXG4gICAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBwYXJhbXM6IGFueVtdO1xyXG4gICAgY29uc3RydWN0b3IobWV0aG9kOiBzdHJpbmcsIHBhcmFtczogYW55W10sIGVycm9yPzogYW55KSB7XHJcbiAgICAgICAgc3VwZXIoYCR7bWV0aG9kfSgke0pTT04uc3RyaW5naWZ5KHBhcmFtcyl9KTogJHtKU09OLnN0cmluZ2lmeShlcnJvcil9KWApXHJcbiAgICAgICAgZGVsZXRlIGVycm9yPy5zdGFja1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvclxyXG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXHJcbiAgICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXNcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBpbXBsZW1lbnRzIElKc29uUnBjUHJvdmlkZXIge1xyXG4gICAgXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRzOiBzdHJpbmdbXVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgcmVjZWlwdHM6IFJlY29yZDxIYXNoLCBUcmFuc2FjdGlvblJlY2VpcHQ+ID0ge307XHJcblxyXG4gICAgcHJvdGVjdGVkIF9jb25zdGFudHM/OiBDb25zZW5zdXNDb25zdGFudHNcclxuICAgIHByb3RlY3RlZCBfaGVhZGVyczogQXhpb3NIZWFkZXJzO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIEpzb25ScGNQcm92aWRlciBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBkZWZhdWx0IFdpdC9SUEMgZW5kcG9pbnQuXHJcbiAgICAgKiBEZWZhdWx0cyB0byBodHRwczovL3JwYy0wMS53aXRuZXQuaW8gaWYgbm8gV0lUTkVUX1NES19QUk9WSURFUl9VUkwgZW52YXIgaXMgc2V0dGxlZFxyXG4gICAgICogb24gdGhlIGVudmlyb25tZW50LlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbUVudih1cmw/OiBzdHJpbmcpOiBQcm9taXNlPEpzb25ScGNQcm92aWRlcj4ge1xyXG4gICAgICAgIHJldHVybiBKc29uUnBjUHJvdmlkZXIuZnJvbVVSTCh1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIilcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBKc29uUnBjUHJvdmlkZXIgb2JqZWN0IGNvbm5lY3RlZCB0byB0aGUgc3BlY2lmaWVkIFdpdC9SUEMgZW5kcG9pbnQuXHJcbiAgICAgKiBAcGFyYW0gdXJsIFdpdC9SUEMgZW5kcG9pbnQgVVJMLlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZnJvbVVSTCh1cmw6IHN0cmluZyk6IFByb21pc2U8SnNvblJwY1Byb3ZpZGVyPiB7XHJcbiAgICAgICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgSnNvblJwY1Byb3ZpZGVyKHVybClcclxuICAgICAgICByZXR1cm4gcHJvdmlkZXIuY29uc3RhbnRzKCkudGhlbigoKSA9PiBwcm92aWRlcilcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih1cmw/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVuZHBvaW50cyA9IFtdXHJcbiAgICAgICAgaWYgKHVybCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybHMgPSB1cmwucmVwbGFjZUFsbCgnLCcsICc7Jykuc3BsaXQoJzsnKVxyXG4gICAgICAgICAgICB1cmxzLmZvckVhY2godXJsID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFtzY2hlbWEsIF0gPSB1dGlscy5wYXJzZVVSTCh1cmwpXHJcbiAgICAgICAgICAgICAgICBpZiAoIXNjaGVtYS5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJiAhc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBXaXRuZXQuSnNvblJwY1Byb3ZpZGVyOiB1bnN1cHBvcnRlZCBVUkwgc2NoZW1hICR7c2NoZW1hfWApXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRzID0gdXJsc1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5kcG9pbnRzLnB1c2gocHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIilcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faGVhZGVycyA9IG5ldyBBeGlvc0hlYWRlcnMoeyBcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG5ldHdvcmsoKTogTmV0d29yayB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbnN0YW50cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcHBpbmdfY29tbWl0dGVlWzBdLnN0YXJ0c1dpdGgoJ3dpdCcpID8gXCJtYWlubmV0XCI6IFwidGVzdG5ldFwiXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG5ldHdvcmtJZCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9jb25zdGFudHMpIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqOiBhbnkgPSB7fVxyXG4gICAgICAgICAgICBvYmouYWN0aXZpdHlQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuYWN0aXZpdHlfcGVyaW9kO1xyXG4gICAgICAgICAgICBvYmouYm9vdHN0cmFwSGFzaCA9IHsgU0hBMjU2OiBBcnJheS5mcm9tKHV0aWxzLmZyb21IZXhTdHJpbmcodGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcF9oYXNoKSkgfVxyXG4gICAgICAgICAgICBvYmouYm9vdHN0cmFwcGluZ0NvbW1pdHRlZSA9IHRoaXMuX2NvbnN0YW50cy5ib290c3RyYXBwaW5nX2NvbW1pdHRlZVxyXG4gICAgICAgICAgICBvYmouY2hlY2twb2ludFplcm9UaW1lc3RhbXAgPSB0aGlzLl9jb25zdGFudHMuY2hlY2twb2ludF96ZXJvX3RpbWVzdGFtcFxyXG4gICAgICAgICAgICBvYmouY2hlY2twb2ludHNQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuY2hlY2twb2ludHNfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5jb2xsYXRlcmFsQWdlID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfYWdlXHJcbiAgICAgICAgICAgIG9iai5jb2xsYXRlcmFsTWluaW11bSA9IHRoaXMuX2NvbnN0YW50cy5jb2xsYXRlcmFsX21pbmltdW1cclxuICAgICAgICAgICAgb2JqLmVwb2Noc1dpdGhNaW5pbXVtRGlmZmljdWx0eSA9IHRoaXMuX2NvbnN0YW50cy5lcG9jaHNfd2l0aF9taW5pbXVtX2RpZmZpY3VsdHlcclxuICAgICAgICAgICAgb2JqLmV4dHJhUm91bmRzID0gdGhpcy5fY29uc3RhbnRzLmV4dHJhX3JvdW5kc1xyXG4gICAgICAgICAgICBvYmouZ2VuZXNpc0hhc2ggPSB7IFNIQTI1NjogQXJyYXkuZnJvbSh1dGlscy5mcm9tSGV4U3RyaW5nKHRoaXMuX2NvbnN0YW50cy5nZW5lc2lzX2hhc2gpKSB9XHJcbiAgICAgICAgICAgIG9iai5oYWx2aW5nUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmhhbHZpbmdfcGVyaW9kXHJcbiAgICAgICAgICAgIG9iai5pbml0aWFsQmxvY2tSZXdhcmQgPSB0aGlzLl9jb25zdGFudHMuaW5pdGlhbF9ibG9ja19yZXdhcmRcclxuICAgICAgICAgICAgb2JqLm1heERyV2VpZ2h0ID0gdGhpcy5fY29uc3RhbnRzLm1heF9kcl93ZWlnaHRcclxuICAgICAgICAgICAgb2JqLm1heFZ0V2VpZ2h0ID0gdGhpcy5fY29uc3RhbnRzLm1heF92dF93ZWlnaHRcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHkgPiAwKSBvYmoubWluaW11bURpZmZpY3VsdHkgPSB0aGlzLl9jb25zdGFudHMubWluaW11bV9kaWZmaWN1bHR5XHJcbiAgICAgICAgICAgIG9iai5taW5pbmdCYWNrdXBGYWN0b3IgPSB0aGlzLl9jb25zdGFudHMubWluaW5nX2JhY2t1cF9mYWN0b3JcclxuICAgICAgICAgICAgb2JqLm1pbmluZ1JlcGxpY2F0aW9uRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLm1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3JcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25FeHBpcmVBbHBoYURpZmYgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9leHBpcmVfYWxwaGFfZGlmZlxyXG4gICAgICAgICAgICBvYmoucmVwdXRhdGlvbklzc3VhbmNlID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25faXNzdWFuY2VcclxuICAgICAgICAgICAgb2JqLnJlcHV0YXRpb25Jc3N1YW5jZVN0b3AgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wXHJcbiAgICAgICAgICAgIG9iai5yZXB1dGF0aW9uUGVuYWxpemF0aW9uRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25fcGVuYWxpemF0aW9uX2ZhY3RvclxyXG4gICAgICAgICAgICBvYmouc3VwZXJibG9ja0NvbW1pdHRlZURlY3JlYXNpbmdQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nU3RlcCA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXBcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19wZXJpb2RcclxuICAgICAgICAgICAgb2JqLnN1cGVyYmxvY2tTaWduaW5nQ29tbWl0dGVlU2l6ZSA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX3NpZ25pbmdfY29tbWl0dGVlX3NpemVcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob2JqKVxyXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gcHJvdG9CdWYuZnJvbU9iamVjdChvYmopXHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG1lc3NhZ2UpXHJcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IHByb3RvQnVmLmVuY29kZShtZXNzYWdlKS5maW5pc2goKVxyXG4gICAgICAgICAgICBjb25zdCBoYXNoID0gdXRpbHMudG9IZXhTdHJpbmcodXRpbHMuc2hhMjU2KGJ1ZmZlcikpIFxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhoYXNoKVxyXG4gICAgICAgICAgICBjb25zdCBoZXggPSBoYXNoLnN1YnN0cmluZygwLCA0KVxyXG4gICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoaGV4LCAxNilcclxuICAgICAgICB9IFxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIG5leHRVUkwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdGhpcy5lbmRwb2ludHMubGVuZ3RoKV1cclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlNZXRob2Q8VD4obWV0aG9kOiBzdHJpbmcsIHBhcmFtcz86IEFycmF5PGFueT4gfCBhbnkgKTogUHJvbWlzZTxFcnJvciB8IGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMubmV4dFVSTCgpXHJcbiAgICAgICAgcmV0dXJuIGF4aW9zXHJcbiAgICAgICAgICAgIC5wb3N0KFxyXG4gICAgICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGpzb25ycGM6ICcyLjAnLFxyXG4gICAgICAgICAgICAgICAgICAgIGlkOiArIG5ldyBEYXRlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1SZXNwb25zZTogZnVuY3Rpb24ocmVzcG9uc2UpIHsgcmV0dXJuIGpzb25CaWcoKS5wYXJzZShyZXNwb25zZSkgfSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEpzb25ScGNQcm92aWRlckVycm9yKG1ldGhvZCwgcGFyYW1zLCByZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKTtcclxuXHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgcmV0dXJuIHJlc3BvbnNlPy5kYXRhPy5yZXN1bHQgYXMgVDtcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICBcclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBsaXN0IG9mIGJsb2NrIGhhc2hlcyB3aXRoaW4gZ2l2ZW4gcmFuZ2UsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzaW5jZSAtIEZpcnN0IGVwb2NoIGZvciB3aGljaCB0byByZXR1cm4gYmxvY2sgaGFzaGVzLiBJZiBuZWdhdGl2ZSwgcmV0dXJuIGJsb2NrIGhhc2hlcyBmcm9tIHRoZSBsYXN0IG4gZXBvY2hzLlxyXG4gICAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdCAtIE51bWJlciBvZiBibG9jayBoYXNoZXMgdG8gcmV0dXJuLiBJZiBuZWdhdGl2ZSwgcmV0dXJuIHRoZSBsYXN0IG4gYmxvY2sgaGFzaGVzIGZyb20gdGhpcyBlcG9jaCByYW5nZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIGJsb2NrcyhzaW5jZTogbnVtYmVyID0gLTEsIGxpbWl0OiBudW1iZXIgPSAxLCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaF0+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxbTnVtYmVyLCBIYXNoXT4oTWV0aG9kcy5HZXRCbG9ja0NoYWluLCBbc2luY2UsIGxpbWl0LCBdKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBjb25zZW5zdXMgY29uc3RhbnRzIHVzZWQgYnkgdGhlIG5vZGVcclxuICAgIHB1YmxpYyBhc3luYyBjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX2NvbnN0YW50cykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAgICAgLmNhbGxBcGlNZXRob2Q8Q29uc2Vuc3VzQ29uc3RhbnRzPihNZXRob2RzLkdldENvbnNlbnN1c0NvbnN0YW50cylcclxuICAgICAgICAgICAgICAgIC50aGVuKChjb25zdGFudHM6IENvbnNlbnN1c0NvbnN0YW50cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnN0YW50cyA9IGNvbnN0YW50c1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25zdGFudHNcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnN0YW50c1xyXG4gICAgICAgIH0gICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8vIEdldCBsaW1pdGVkIGxpc3Qgb2YgY3VycmVudGx5IHRvcCBob2xkZXJzLCBhcyBrbm93biBieSB0aGUgcHJvdmlkZXIuXHJcbiAgICBwdWJsaWMgYXN5bmMgaG9sZGVycyhtaW5CYWxhbmNlID0gMCwgbWF4QmFsYW5jZT86IG51bWJlcik6IFByb21pc2U8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlPj4oTWV0aG9kcy5HZXRCYWxhbmNlMiwge1xyXG4gICAgICAgICAgICAgICAgYWxsOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluQmFsYW5jZSxcclxuICAgICAgICAgICAgICAgICAgICAuLi4gbWF4QmFsYW5jZSA/IHsgbWF4QmFsYW5jZSB9IDoge31cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkudGhlbigoYmFsYW5jZXM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJldmVyc2VDb21wYXJlID0gKGE6IEJhbGFuY2UyLCBiOiBCYWxhbmNlMikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFfdG90ID0gYS5sb2NrZWQgKyBhLnVubG9ja2VkICsgYS5zdGFrZWRcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiX3RvdCA9IGIubG9ja2VkICsgYi51bmxvY2tlZCArIGIuc3Rha2VkXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFfdG90IDwgYl90b3QpIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFfdG90ID4gYl90b3QpIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhiYWxhbmNlcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGE6IChzdHJpbmcgfCBCYWxhbmNlMilbXSwgYjogKHN0cmluZyB8IEJhbGFuY2UyKVtdKSA9PiByZXZlcnNlQ29tcGFyZShhWzFdIGFzIEJhbGFuY2UyLCBiWzFdIGFzIEJhbGFuY2UyKSlcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgbGlzdCBvZiBrbm93biBwZWVyc1xyXG4gICAgcHVibGljIGFzeW5jIGtub3duUGVlcnMoKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFBlZXJBZGRyPj4oTWV0aG9kcy5Lbm93blBlZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCBhbGwgdGhlIHBlbmRpbmcgdHJhbnNhY3Rpb25zXHJcbiAgICBwdWJsaWMgYXN5bmMgbWVtcG9vbCgpOiBQcm9taXNlPE1lbXBvb2w+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPE1lbXBvb2w+KE1ldGhvZHMuR2V0TWVtcG9vbCk7XHJcbiAgICB9ICAgIFxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHByaW9yaXR5IGFuZCB0aW1lLXRvLWJsb2NrIGVzdGltYXRpb25zIGZvciBkaWZmZXJlbnQgcHJpb3JpdHkgdGllcnMuXHJcbiAgICBwdWJsaWMgYXN5bmMgcHJpb3JpdGllcygpOiBQcm9taXNlPFByaW9yaXRpZXM+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByaW9yaXRpZXM+KE1ldGhvZHMuUHJpb3JpdHkpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgaW5mb3JtYXRpb24gYWJvdXQgcHJvdG9jb2wgdmVyc2lvbnMgYW5kIHdoaWNoIHZlcnNpb24gaXMgY3VycmVudGx5IGJlaW5nIGVuZm9yY2VkLlxyXG4gICAgcHVibGljIGFzeW5jIHByb3RvY29sSW5mbygpOiBQcm9taXNlPFByb3RvY29sSW5mbz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8UHJvdG9jb2xJbmZvPihNZXRob2RzLlByb3RvY29sKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGEgZnVsbCBsaXN0IG9mIHN0YWtpbmcgcG93ZXJzIG9yZGVyZWQgYnkgcmFua1xyXG4gICAgcHVibGljIGFzeW5jIHBvd2VycyhxdWVyeT86IFF1ZXJ5U3Rha2luZ1Bvd2Vycyk6IFByb21pc2U8QXJyYXk8U3Rha2luZ1Bvd2VyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8U3Rha2luZ1Bvd2VyPj4oTWV0aG9kcy5RdWVyeVN0YWtpbmdQb3dlcnMsIHF1ZXJ5KVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IGEgZnVsbCBsaXN0IG9mIGN1cnJlbnQgc3Rha2UgZW50cmllcyAgUXVlcnkgdGhlIGFtb3VudCBvZiBuYW5vd2l0cyBzdGFrZWQgYnkgYW4gYWRkcmVzcy5cclxuICAgIHB1YmxpYyBhc3luYyBzdGFrZXMocXVlcnk/OiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxBcnJheTxTdGFrZUVudHJ5Pj4oTWV0aG9kcy5RdWVyeVN0YWtlcywgcXVlcnkpXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycj8uZXJyb3I/Lm1lc3NhZ2UgJiYgZXJyLmVycm9yLm1lc3NhZ2UuaW5kZXhPZihcIm5vdCByZWdpc3RlcmVkXCIpID4gLTEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW11cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgbm9kZSBzdGF0dXNcclxuICAgIHB1YmxpYyBhc3luYyBzeW5jU3RhdHVzKCk6IFByb21pc2U8U3luY1N0YXR1cz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3luY1N0YXR1cz4oTWV0aG9kcy5TeW5jU3RhdHVzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIHdpcHMoKTogUHJvbWlzZTxTaWduYWxpbmdJbmZvPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTaWduYWxpbmdJbmZvPihNZXRob2RzLlNpZ25hbGluZ0luZm8pXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHdpdG5lc3Nlcyhfc2luY2U/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgICAgIC8vIHRvZG86IHdpdG5lc3NlcyBlc3RpbWF0aW9uIHNob3VsZCBpbnN0ZWFkIGJlIGNvbXB1dGVkIGluIHByb3BvcnRpb24gdG9cclxuICAgICAgICAvLyAgICAgICByYXRpbyBvZiB2YWxpZGF0b3JzIHRoYXQgaGF2ZSBob25lc3RseSB3aXRuZXNzZWQgZGF0YSByZXF1ZXN0c1xyXG4gICAgICAgIC8vICAgICAgIHZzIHZhbGlkYXRvcnMgdGhhdCBoYXZlIGhvbmVzdGx5IHdpdG5lc3NlZCBkYXRhIHJlcXVlc3RzIGFuZFxyXG4gICAgICAgIC8vICAgICAgIG5ldmVyIHJldmVhbGVkIFwiaSBwYXNzZWRcIiBvdXQgb2YgbWFqb3JpdHksIFxyXG4gICAgICAgIC8vICAgICAgIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhbmdlIG9mIGVwb2Nocy5cclxuICAgICAgICBsZXQgY2Vuc3VzID0gMFxyXG4gICAgICAgIHJldHVybiB0aGlzIFxyXG4gICAgICAgICAgICAuc3Rha2VzKHsgcGFyYW1zOiB7IGRpc3RpbmN0OiB0cnVlIH19KSAvLyB0b2RvOiBpbXBsZW1lbnQgYGNvdW50YCBmbGFnIG9uIElKc29uUnBjUHJvdmlkZXIuc3Rha2VzKClcclxuICAgICAgICAgICAgLnRoZW4ocmVjb3JkcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjZW5zdXMgPSByZWNvcmRzLmxlbmd0aFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmxvY2tzKC0xNiwgMTYpIC8vIHRvZG86IGJsb2NrcygpIHNob3VsZCByZXR1cm4gZXBvY2gsIGhhc2ggYW5kIHZhbGlkYXRvciBwa2ggZm9yIGVhY2ggYmxvY2tcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnRoZW4ocmVjb3JkcyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocmVjb3Jkcy5tYXAocmVjb3JkID0+IHRoaXMuZ2V0QmxvY2socmVjb3JkWzFdKSkpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGJsb2NrcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBBcnJheTxQdWJsaWNLZXlIYXNoU3RyaW5nPiA9IFtdXHJcbiAgICAgICAgICAgICAgICBibG9ja3MubWFwKGJsb2NrID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwa2ggPSBQdWJsaWNLZXkuZnJvbVByb3RvYnVmKGJsb2NrLmJsb2NrX3NpZy5wdWJsaWNfa2V5KS5oYXNoKCkudG9CZWNoMzIodGhpcy5uZXR3b3JrKVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsaWRhdG9ycy5pbmNsdWRlcyhwa2gpKSB2YWxpZGF0b3JzLnB1c2gocGtoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5taW4oXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5sZW5ndGgsXHJcbiAgICAgICAgICAgICAgICAgICAgTWF0aC5mbG9vcih0aGlzLm5ldHdvcmsgPT09IFwidGVzdG5ldFwiID8gY2Vuc3VzIC8gMiA6IGNlbnN1cyAvIDQpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vLyBHZXQgYmFsYW5jZVxyXG4gICAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nKTogUHJvbWlzZTxCYWxhbmNlMj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIC5jYWxsQXBpTWV0aG9kPEJhbGFuY2UyPihNZXRob2RzLkdldEJhbGFuY2UyLCB7IHBraCB9KVxyXG4gICAgICAgICAgICAudGhlbigoYmFsYW5jZTogQmFsYW5jZTIpID0+ICh7XHJcbiAgICAgICAgICAgICAgICBsb2NrZWQ6IEJpZ0ludChiYWxhbmNlLmxvY2tlZCksXHJcbiAgICAgICAgICAgICAgICBzdGFrZWQ6IEJpZ0ludChiYWxhbmNlLnN0YWtlZCksXHJcbiAgICAgICAgICAgICAgICB1bmxvY2tlZDogQmlnSW50KGJhbGFuY2UudW5sb2NrZWQpLFxyXG4gICAgICAgICAgICB9KSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgYmxvY2sgaW5mbyBieSBoYXNoXHJcbiAgICAgKiBAcGFyYW0ge0hhc2h9IGJsb2NrSGFzaCAtIEhhc2ggb2YgdGhlIGJsb2NrIHRoYXQgd2UgYXJlIHF1ZXJ5aW5nLlxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBzaG93VHJhbnNhY3Rpb25IYXNoIC0gV2hldGhlciB0byBpbmNsdWRlIGFuIGV4dHJhIGZpZWxkIGNvbnRhaW5pbmcgYXJyYXkgb2YgdHJhbnNhY3Rpb24gaGFzaGVzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QmxvY2soXHJcbiAgICAgICAgICAgIGJsb2NrSGFzaDogSGFzaCxcclxuICAgICAgICAgICAgc2hvd1RyYW5zYWN0aW9uSGFzaCA9IGZhbHNlLFxyXG4gICAgICAgICk6IFByb21pc2U8QmxvY2s+XHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxCbG9jaz4oTWV0aG9kcy5HZXRCbG9jaywgW2Jsb2NrSGFzaCwgc2hvd1RyYW5zYWN0aW9uSGFzaCwgXSlcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIGdldERhdGFSZXF1ZXN0KGRyVHhIYXNoOiBIYXNoLCBtb2RlPzogR2V0RGF0YVJlcXVlc3RNb2RlLCBmb3JjZSA9IGZhbHNlKTogUHJvbWlzZTxHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0PihNZXRob2RzLkdldERhdGFSZXF1ZXN0LCB7XHJcbiAgICAgICAgICAgIGhhc2g6IGRyVHhIYXNoLFxyXG4gICAgICAgICAgICBtb2RlOiBtb2RlIHx8IFwiZnVsbFwiLFxyXG4gICAgICAgICAgICBmb3JjZVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgdGhlIGJsb2NrcyB0aGF0IHBlcnRhaW4gdG8gdGhlIHN1cGVyYmxvY2sgaW5kZXhcclxuICAgIHB1YmxpYyBhc3luYyBnZXRTdXBlcmJsb2NrKGVwb2NoOiBFcG9jaCk6IFByb21pc2U8U3VwZXJibG9ja1JlcG9ydD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3VwZXJibG9ja1JlcG9ydD4oTWV0aG9kcy5HZXRTdXBlcmJsb2NrLCB7IFwiYmxvY2tfZXBvY2hcIjogZXBvY2ggfSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvbih0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVwb3J0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxUcmFuc2FjdGlvblJlcG9ydD4oTWV0aG9kcy5HZXRUcmFuc2FjdGlvbiwgW3R4SGFzaCwgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uUmVjZWlwdCh0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVjZWlwdD4ge1xyXG4gICAgICAgIC8vIHRvZG86IGZldGNoL3VwZGF0ZSByZWNlaXB0IGZyb20gcHJvdmlkZXIsIGlmIG5vdCBjYWNoZWRcclxuICAgICAgICByZXR1cm4gSnNvblJwY1Byb3ZpZGVyLnJlY2VpcHRzW3R4SGFzaF1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIEdldCB1dHhvc1xyXG4gICAgcHVibGljIGFzeW5jIGdldFV0eG9zKHBraDogUHVibGljS2V5SGFzaFN0cmluZywgc21hbGxGaXJzdCA9IHRydWUpOiBQcm9taXNlPEFycmF5PFV0eG9NZXRhZGF0YT4+IHtcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICAuY2FsbEFwaU1ldGhvZDxVdHhvSW5mbz4oTWV0aG9kcy5HZXRVdHhvSW5mbywgW3BraCwgXSlcclxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdDogVXR4b0luZm8pID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGludmVyc29yID0gc21hbGxGaXJzdCA/IDEgOiAtMVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC51dHhvcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGEudmFsdWUgPiBiLnZhbHVlKSByZXR1cm4gaW52ZXJzb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYS52YWx1ZSA8IGIudmFsdWUpIHJldHVybiAtIGludmVyc29yO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgICAgICB9KS5tYXAoKHV0eG86IFV0eG9NZXRhZGF0YSkgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAuLi51dHhvLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBCaWdJbnQodXR4by52YWx1ZSksXHJcbiAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWVUcmFuc2Zlcih0eEhhc2g6IEhhc2gsIG1vZGU/OiBzdHJpbmcsIGZvcmNlID0gZmFsc2UpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8YW55PihNZXRob2RzLkdldFZhbHVlVHJhbnNmZXIsIHtcclxuICAgICAgICAgICAgaGFzaDogdHhIYXNoLFxyXG4gICAgICAgICAgICBtb2RlOiBtb2RlLFxyXG4gICAgICAgICAgICBmb3JjZVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHB1YmxpYyBhc3luYyBzZW5kUmF3VHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8Ym9vbGVhbj4oTWV0aG9kcy5JbnZlbnRvcnksIHsgdHJhbnNhY3Rpb24gfSlcclxuICAgIH1cclxuXHJcbiAgICAvLy8gR2V0IHN1cHBseSBpbmZvXHJcbiAgICBwdWJsaWMgYXN5bmMgc3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFN1cHBseUluZm8+KE1ldGhvZHMuR2V0U3VwcGx5SW5mbylcclxuICAgIH1cclxufSJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { IJsonRpcProvider, JsonRpcProvider } from "./provider";
2
- import { DataRequestReport, PeerAddr, SupplyInfo } from "./types";
2
+ import { GetDataRequestEtherealReport, GetDataRequestFullReport, PeerAddr, SupplyInfo } from "./types";
3
3
  import { Hash } from "../types";
4
4
  export interface IReporter extends IJsonRpcProvider {
5
5
  providers(): Promise<Array<string>>;
6
6
  supplyInfo(): Promise<SupplyInfo>;
7
- getDataRequest(drTxHash: Hash, channel?: string): Promise<DataRequestReport>;
7
+ getDataRequest(drTxHash: Hash, channel?: string): Promise<GetDataRequestEtherealReport | GetDataRequestFullReport>;
8
8
  searchDataRequests(radHash: Hash): Promise<any>;
9
9
  }
10
10
  export declare class Reporter extends JsonRpcProvider implements IReporter {
@@ -12,7 +12,6 @@ export declare class Reporter extends JsonRpcProvider implements IReporter {
12
12
  peers(): Promise<Array<PeerAddr>>;
13
13
  providers(): Promise<Array<string>>;
14
14
  supplyInfo(): Promise<SupplyInfo>;
15
- reportDataRequest(drTxHash: Hash, channel?: string): Promise<DataRequestReport>;
16
15
  searchDataRequests(radHash: Hash): Promise<any>;
17
16
  }
18
17
  //# sourceMappingURL=reporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAW,QAAQ,EAAE,UAAU,EAAG,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAElC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC5E,kBAAkB,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD;AAED,qBAAa,QAAS,SAAQ,eAAgB,YAAW,SAAS;gBAClD,GAAG,CAAC,EAAE,MAAM;IAKjB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAI3B,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAKnC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAKjC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI/E,kBAAkB,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;CAG/D"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAW,QAAQ,EAAE,UAAU,EAAG,MAAM,SAAS,CAAA;AAChH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,MAAM,WAAW,SAAU,SAAQ,gBAAgB;IAC/C,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAElC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,GAAG,wBAAwB,CAAC,CAAA;IAClH,kBAAkB,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD;AAED,qBAAa,QAAS,SAAQ,eAAgB,YAAW,SAAS;gBAClD,GAAG,CAAC,EAAE,MAAM;IAKjB,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAI3B,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAKnC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAOjC,kBAAkB,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;CAG/D"}
@@ -19,12 +19,9 @@ class Reporter extends provider_1.JsonRpcProvider {
19
19
  return this.callApiMethod(types_1.Methods.GetSupplyInfo);
20
20
  }
21
21
  /// ---------------------------------------------------------------------------------------------------------------
22
- async reportDataRequest(drTxHash, channel) {
23
- return this.callApiMethod(types_1.Methods.DataRequestReport, [drTxHash, channel,]);
24
- }
25
22
  async searchDataRequests(radHash) {
26
23
  return this.callApiMethod(types_1.Methods.SearchDataRequests, [radHash,]);
27
24
  }
28
25
  }
29
26
  exports.Reporter = Reporter;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9yZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBOEQ7QUFDOUQsbUNBQTJFO0FBVzNFLE1BQWEsUUFBUyxTQUFRLDBCQUFlO0lBQ3pDLFlBQVksR0FBWTtRQUNwQixLQUFLLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksMEJBQTBCLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBRUQsbUhBQW1IO0lBQzVHLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWtCLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFnQixlQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELG1CQUFtQjtJQUNaLEtBQUssQ0FBQyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBYSxlQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELG1IQUFtSDtJQUM1RyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBYyxFQUFFLE9BQWdCO1FBQzNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBb0IsZUFBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRyxDQUFDLENBQUE7SUFDbEcsQ0FBQztJQUVNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFhO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBTSxlQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUcsQ0FBQyxDQUFBO0lBQzNFLENBQUM7Q0FDSjtBQTNCRCw0QkEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSnNvblJwY1Byb3ZpZGVyLCBKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXHJcbmltcG9ydCB7IERhdGFSZXF1ZXN0UmVwb3J0LCBNZXRob2RzLCBQZWVyQWRkciwgU3VwcGx5SW5mbywgfSBmcm9tIFwiLi90eXBlc1wiXHJcbmltcG9ydCB7IEhhc2ggfSBmcm9tIFwiLi4vdHlwZXNcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUmVwb3J0ZXIgZXh0ZW5kcyBJSnNvblJwY1Byb3ZpZGVyIHtcclxuICAgIHByb3ZpZGVycygpOiBQcm9taXNlPEFycmF5PHN0cmluZz4+XHJcbiAgICBzdXBwbHlJbmZvKCk6IFByb21pc2U8U3VwcGx5SW5mbz47XHJcblxyXG4gICAgZ2V0RGF0YVJlcXVlc3QoZHJUeEhhc2g6IEhhc2gsIGNoYW5uZWw/OiBzdHJpbmcpOiBQcm9taXNlPERhdGFSZXF1ZXN0UmVwb3J0PlxyXG4gICAgc2VhcmNoRGF0YVJlcXVlc3RzKHJhZEhhc2g6IEhhc2gpOiBQcm9taXNlPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRlciBleHRlbmRzIEpzb25ScGNQcm92aWRlciBpbXBsZW1lbnRzIElSZXBvcnRlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcih1cmw/OiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcih1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1RPT0xLSVRfUkVQT1JURVJfVVJMIHx8IFwiaHR0cHM6Ly9rZXJtaXQud2l0bmV0LmlvXCIpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIHB1YmxpYyBwZWVycygpOiBQcm9taXNlPEFycmF5PFBlZXJBZGRyPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8UGVlckFkZHI+PihNZXRob2RzLktub3duUGVlcnMpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgYXN5bmMgcHJvdmlkZXJzKCk6IFByb21pc2U8QXJyYXk8c3RyaW5nPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8c3RyaW5nPj4oTWV0aG9kcy5Qcm92aWRlcnMpXHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vLyBHZXQgc3VwcGx5IGluZm9cclxuICAgIHB1YmxpYyBhc3luYyBzdXBwbHlJbmZvKCk6IFByb21pc2U8U3VwcGx5SW5mbz4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3VwcGx5SW5mbz4oTWV0aG9kcy5HZXRTdXBwbHlJbmZvKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBwdWJsaWMgYXN5bmMgcmVwb3J0RGF0YVJlcXVlc3QoZHJUeEhhc2g6IEhhc2gsIGNoYW5uZWw/OiBzdHJpbmcpOiBQcm9taXNlPERhdGFSZXF1ZXN0UmVwb3J0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxEYXRhUmVxdWVzdFJlcG9ydD4oTWV0aG9kcy5EYXRhUmVxdWVzdFJlcG9ydCwgW2RyVHhIYXNoLCBjaGFubmVsLCBdKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwdWJsaWMgYXN5bmMgc2VhcmNoRGF0YVJlcXVlc3RzKHJhZEhhc2g6IEhhc2gpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8YW55PihNZXRob2RzLlNlYXJjaERhdGFSZXF1ZXN0cywgW3JhZEhhc2gsIF0pXHJcbiAgICB9XHJcbn1cclxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9yZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBOEQ7QUFDOUQsbUNBQWdIO0FBV2hILE1BQWEsUUFBUyxTQUFRLDBCQUFlO0lBQ3pDLFlBQVksR0FBWTtRQUNwQixLQUFLLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksMEJBQTBCLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBRUQsbUhBQW1IO0lBQzVHLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWtCLGVBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFnQixlQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVELG1CQUFtQjtJQUNaLEtBQUssQ0FBQyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBYSxlQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELG1IQUFtSDtJQUc1RyxLQUFLLENBQUMsa0JBQWtCLENBQUMsT0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQU0sZUFBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFHLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0NBQ0o7QUF6QkQsNEJBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUpzb25ScGNQcm92aWRlciwgSnNvblJwY1Byb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJcIlxyXG5pbXBvcnQgeyBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0LCBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQsIE1ldGhvZHMsIFBlZXJBZGRyLCBTdXBwbHlJbmZvLCB9IGZyb20gXCIuL3R5cGVzXCJcclxuaW1wb3J0IHsgSGFzaCB9IGZyb20gXCIuLi90eXBlc1wiXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSZXBvcnRlciBleHRlbmRzIElKc29uUnBjUHJvdmlkZXIge1xyXG4gICAgcHJvdmlkZXJzKCk6IFByb21pc2U8QXJyYXk8c3RyaW5nPj5cclxuICAgIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPjtcclxuXHJcbiAgICBnZXREYXRhUmVxdWVzdChkclR4SGFzaDogSGFzaCwgY2hhbm5lbD86IHN0cmluZyk6IFByb21pc2U8R2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydD5cclxuICAgIHNlYXJjaERhdGFSZXF1ZXN0cyhyYWRIYXNoOiBIYXNoKTogUHJvbWlzZTxhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVwb3J0ZXIgZXh0ZW5kcyBKc29uUnBjUHJvdmlkZXIgaW1wbGVtZW50cyBJUmVwb3J0ZXIge1xyXG4gICAgY29uc3RydWN0b3IodXJsPzogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIodXJsIHx8IHByb2Nlc3MuZW52LldJVE5FVF9UT09MS0lUX1JFUE9SVEVSX1VSTCB8fCBcImh0dHBzOi8va2VybWl0LndpdG5ldC5pb1wiKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICBwdWJsaWMgcGVlcnMoKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFBlZXJBZGRyPj4oTWV0aG9kcy5Lbm93blBlZXJzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGFzeW5jIHByb3ZpZGVycygpOiBQcm9taXNlPEFycmF5PHN0cmluZz4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PHN0cmluZz4+KE1ldGhvZHMuUHJvdmlkZXJzKVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLy8gR2V0IHN1cHBseSBpbmZvXHJcbiAgICBwdWJsaWMgYXN5bmMgc3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFN1cHBseUluZm8+KE1ldGhvZHMuR2V0U3VwcGx5SW5mbylcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICAgXHJcbiAgICBcclxuICAgIHB1YmxpYyBhc3luYyBzZWFyY2hEYXRhUmVxdWVzdHMocmFkSGFzaDogSGFzaCk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxhbnk+KE1ldGhvZHMuU2VhcmNoRGF0YVJlcXVlc3RzLCBbcmFkSGFzaCwgXSlcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -10,6 +10,7 @@ export declare enum Methods {
10
10
  GetBlockChain = "getBlockChain",
11
11
  GetBlock = "getBlock",
12
12
  GetConsensusConstants = "getConsensusConstants",
13
+ GetDataRequest = "getDataRequest",
13
14
  GetMempool = "getMempool",
14
15
  GetPkh = "getPkh",
15
16
  GetPublicKey = "getPublicKey",
@@ -17,6 +18,7 @@ export declare enum Methods {
17
18
  GetSupplyInfo = "getSupplyInfo2",
18
19
  GetTransaction = "getTransaction",
19
20
  GetUtxoInfo = "getUtxoInfo",
21
+ GetValueTransfer = "getValueTransfer",
20
22
  InitializePeers = "initializePeers",
21
23
  Inventory = "inventory",
22
24
  KnownPeers = "knownPeers",
@@ -125,31 +127,31 @@ export type CheckpointBeacon = {
125
127
  hashPrevBlock: Hash;
126
128
  };
127
129
  export type ConsensusConstants = {
130
+ activity_period: u32;
131
+ bootstrap_hash: Hash;
132
+ bootstrapping_committee: Array<string>;
128
133
  checkpoint_zero_timestamp: i64;
129
134
  checkpoints_period: u16;
130
- bootstrap_hash: Hash;
135
+ collateral_age: u32;
136
+ collateral_minimum: bigint;
137
+ epochs_with_minimum_difficulty: u32;
138
+ extra_rounds: u16;
131
139
  genesis_hash: Hash;
132
- max_vt_weight: u32;
140
+ halving_period: u32;
141
+ initial_block_reward: u64;
133
142
  max_dr_weight: u32;
134
- activity_period: u32;
143
+ max_vt_weight: u32;
144
+ minimum_difficulty: u32;
145
+ mining_backup_factor: u32;
146
+ mining_replication_factor: u32;
135
147
  reputation_expire_alpha_diff: u32;
136
148
  reputation_issuance: u32;
137
149
  reputation_issuance_stop: u32;
138
150
  reputation_penalization_factor: f64;
139
- mining_backup_factor: u32;
140
- mining_replication_factor: u32;
141
- collateral_minimum: bigint;
142
- collateral_age: u32;
143
- superblock_period: u16;
144
- extra_rounds: u16;
145
- minimum_difficulty: u32;
146
- epochs_with_minimum_difficulty: u32;
147
- bootstrapping_committee: Array<string>;
148
- superblock_signing_committee_size: u32;
149
151
  superblock_committee_decreasing_period: u32;
150
152
  superblock_committee_decreasing_step: u32;
151
- initial_block_reward: u64;
152
- halving_period: u32;
153
+ superblock_period: u16;
154
+ superblock_signing_committee_size: u32;
153
155
  };
154
156
  export type DataRequestPayload = {
155
157
  dataRequest: RADRequest;
@@ -159,15 +161,38 @@ export type DataRequestPayload = {
159
161
  minConsensusPercentage: number;
160
162
  collateral: number;
161
163
  };
162
- export type DataRequestReport = {
163
- commits: Record<PublicKeyHashString, DataRequestCommitTransaction>;
164
- reveals: Record<PublicKeyHashString, DataRequestRevealTransaction>;
165
- tally?: DataRequestTallyTransaction;
166
- block_hash_dr_tx?: Hash;
167
- block_hash_tally_tx?: Hash;
168
- current_commit_round: u16;
169
- current_reveal_round: u16;
170
- current_stage?: DataRequestStage;
164
+ export type DataRequestStatus = "cancelled" | "pending" | "committing" | "revealing" | "solved" | "reverted";
165
+ export type GetDataRequestMode = "full" | "ethereal";
166
+ export type GetDataRequestFullReport = {
167
+ status: DataRequestStatus;
168
+ report: {
169
+ commits: Record<PublicKeyHashString, DataRequestCommitTransaction>;
170
+ reveals: Record<PublicKeyHashString, DataRequestRevealTransaction>;
171
+ tally?: DataRequestTallyTransaction;
172
+ block_hash_dr_tx?: Hash;
173
+ block_hash_tally_tx?: Hash;
174
+ current_commit_round: u16;
175
+ current_reveal_round: u16;
176
+ current_stage?: DataRequestStage;
177
+ };
178
+ };
179
+ export type GetDataRequestEtherealReport = {
180
+ block_epoch?: number;
181
+ block_hash?: Hash;
182
+ confirmations?: number;
183
+ query?: {
184
+ collateral: bigint;
185
+ dro_hash: Hash;
186
+ rad_hash: Hash;
187
+ weight: number;
188
+ witnesses: number;
189
+ };
190
+ result?: {
191
+ cbor_bytes: string;
192
+ confirmations: number;
193
+ timestamp: number;
194
+ };
195
+ status: DataRequestStatus;
171
196
  };
172
197
  export declare enum DataRequestStage {
173
198
  COMMIT = "COMMIT",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ var Methods;
12
12
  Methods["GetBlockChain"] = "getBlockChain";
13
13
  Methods["GetBlock"] = "getBlock";
14
14
  Methods["GetConsensusConstants"] = "getConsensusConstants";
15
+ Methods["GetDataRequest"] = "getDataRequest";
15
16
  Methods["GetMempool"] = "getMempool";
16
17
  Methods["GetPkh"] = "getPkh";
17
18
  Methods["GetPublicKey"] = "getPublicKey";
@@ -19,6 +20,7 @@ var Methods;
19
20
  Methods["GetSupplyInfo"] = "getSupplyInfo2";
20
21
  Methods["GetTransaction"] = "getTransaction";
21
22
  Methods["GetUtxoInfo"] = "getUtxoInfo";
23
+ Methods["GetValueTransfer"] = "getValueTransfer";
22
24
  Methods["InitializePeers"] = "initializePeers";
23
25
  Methods["Inventory"] = "inventory";
24
26
  Methods["KnownPeers"] = "knownPeers";
@@ -78,4 +80,4 @@ var StakingCapability;
78
80
  StakingCapability["Mining"] = "mining";
79
81
  StakingCapability["Witnessing"] = "witnessing";
80
82
  })(StakingCapability || (exports.StakingCapability = StakingCapability = {}));
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxJQUFZLE9BZ0NYO0FBaENELFdBQVksT0FBTztJQUNmLGdDQUFxQixDQUFBO0lBQ3JCLDRDQUFpQyxDQUFBO0lBQ2pDLG9DQUF5QixDQUFBO0lBQ3pCLGtEQUF1QyxDQUFBO0lBQ3ZDLG9DQUF5QixDQUFBO0lBQ3pCLHNDQUEyQixDQUFBO0lBQzNCLDBDQUErQixDQUFBO0lBQy9CLGdDQUFxQixDQUFBO0lBQ3JCLDBEQUErQyxDQUFBO0lBQy9DLG9DQUF5QixDQUFBO0lBQ3pCLDRCQUFpQixDQUFBO0lBQ2pCLHdDQUE2QixDQUFBO0lBQzdCLDBDQUErQixDQUFBO0lBQy9CLDJDQUFnQyxDQUFBO0lBQ2hDLDRDQUFpQyxDQUFBO0lBQ2pDLHNDQUEyQixDQUFBO0lBQzNCLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLG9DQUF5QixDQUFBO0lBQ3pCLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLDBCQUFlLENBQUE7SUFDZixnQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBdUIsQ0FBQTtJQUN2Qiw2Q0FBa0MsQ0FBQTtJQUNsQyxzQ0FBMkIsQ0FBQTtJQUMzQiw0QkFBaUIsQ0FBQTtJQUNqQixvREFBeUMsQ0FBQTtJQUN6QywwQ0FBK0IsQ0FBQTtJQUMvQixvQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBaENXLE9BQU8sdUJBQVAsT0FBTyxRQWdDbEI7QUF5QkQsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsMENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUxXLGFBQWEsNkJBQWIsYUFBYSxRQUt4QjtBQTZORCw2QkFBNkI7QUFDN0IsSUFBWSxnQkFPWDtBQVBELFdBQVksZ0JBQWdCO0lBQ3hCLHdDQUF3QztJQUN4QyxxQ0FBaUIsQ0FBQTtJQUNqQix1REFBdUQ7SUFDdkQscUNBQWlCLENBQUE7SUFDakIseUNBQXlDO0lBQ3pDLG1DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVBXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBTzNCO0FBZ0ZELElBQVksT0FLWDtBQUxELFdBQVksT0FBTztJQUNmLCtCQUFvQixDQUFBO0lBQ3BCLGlDQUFzQixDQUFBO0lBQ3RCLGlDQUFzQixDQUFBO0lBQ3RCLHNCQUFXLENBQUE7QUFDZixDQUFDLEVBTFcsT0FBTyx1QkFBUCxPQUFPLFFBS2xCO0FBd0JELGdFQUFnRTtBQUNoRSxJQUFZLFlBV1g7QUFYRCxXQUFZLFlBQVk7SUFDcEIsaUZBQWlGO0lBQ2pGLHFEQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCxnREFBZ0MsQ0FBQTtJQUNoQyxvRkFBb0Y7SUFDcEYsK0NBQStDO0lBQy9DLDZDQUE2QixDQUFBO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVhXLFlBQVksNEJBQVosWUFBWSxRQVd2QjtBQTZCRCxJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5SGFzaFN0cmluZyB9IGZyb20gXCIuLi9jcnlwdG8vdHlwZXNcIlxyXG5pbXBvcnQge1xyXG4gICAgRXBvY2gsXHJcbiAgICBIYXNoLFxyXG4gICAgZjY0LCBpNjQsIHU4LCB1MTYsIHUzMiwgdTY0LCB1c2l6ZSxcclxufSBmcm9tIFwiLi4vdHlwZXNcIlxyXG5cclxuZXhwb3J0IGVudW0gTWV0aG9kcyB7XHJcbiAgICBBZGRQZWVycyA9IFwiYWRkUGVlcnNcIixcclxuICAgIEF1dGhvcml6ZVN0YWtlID0gXCJhdXRob3JpemVTdGFrZVwiLFxyXG4gICAgQ2xlYXJQZWVycyA9IFwiY2xlYXJQZWVyc1wiLFxyXG4gICAgRGF0YVJlcXVlc3RSZXBvcnQgPSBcImRhdGFSZXF1ZXN0UmVwb3J0XCIsXHJcbiAgICBHZXRCYWxhbmNlID0gXCJnZXRCYWxhbmNlXCIsXHJcbiAgICBHZXRCYWxhbmNlMiA9IFwiZ2V0QmFsYW5jZTJcIixcclxuICAgIEdldEJsb2NrQ2hhaW4gPSBcImdldEJsb2NrQ2hhaW5cIixcclxuICAgIEdldEJsb2NrID0gXCJnZXRCbG9ja1wiLFxyXG4gICAgR2V0Q29uc2Vuc3VzQ29uc3RhbnRzID0gXCJnZXRDb25zZW5zdXNDb25zdGFudHNcIixcclxuICAgIEdldE1lbXBvb2wgPSBcImdldE1lbXBvb2xcIixcclxuICAgIEdldFBraCA9IFwiZ2V0UGtoXCIsXHJcbiAgICBHZXRQdWJsaWNLZXkgPSBcImdldFB1YmxpY0tleVwiLFxyXG4gICAgR2V0U3VwZXJibG9jayA9IFwiZ2V0U3VwZXJibG9ja1wiLFxyXG4gICAgR2V0U3VwcGx5SW5mbyA9IFwiZ2V0U3VwcGx5SW5mbzJcIixcclxuICAgIEdldFRyYW5zYWN0aW9uID0gXCJnZXRUcmFuc2FjdGlvblwiLFxyXG4gICAgR2V0VXR4b0luZm8gPSBcImdldFV0eG9JbmZvXCIsXHJcbiAgICBJbml0aWFsaXplUGVlcnMgPSBcImluaXRpYWxpemVQZWVyc1wiLFxyXG4gICAgSW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcclxuICAgIEtub3duUGVlcnMgPSBcImtub3duUGVlcnNcIixcclxuICAgIE1hc3RlcktleUV4cG9ydCA9IFwibWFzdGVyS2V5RXhwb3J0XCIsXHJcbiAgICBOb2RlU3RhdHMgPSBcIm5vZGVTdGF0c1wiLFxyXG4gICAgUGVlcnMgPSBcInBlZXJzXCIsXHJcbiAgICBQcmlvcml0eSA9IFwicHJpb3JpdHlcIixcclxuICAgIFByb3RvY29sID0gXCJwcm90b2NvbFwiLFxyXG4gICAgUHJvdmlkZXJzID0gXCJwcm92aWRlcnNcIixcclxuICAgIFF1ZXJ5U3Rha2luZ1Bvd2VycyA9IFwicXVlcnlQb3dlcnNcIixcclxuICAgIFF1ZXJ5U3Rha2VzID0gXCJxdWVyeVN0YWtlc1wiLFxyXG4gICAgUmV3aW5kID0gXCJyZXdpbmRcIixcclxuICAgIFNlYXJjaERhdGFSZXF1ZXN0cyA9IFwic2VhcmNoRGF0YVJlcXVlc3RzXCIsXHJcbiAgICBTaWduYWxpbmdJbmZvID0gXCJzaWduYWxpbmdJbmZvXCIsXHJcbiAgICBTeW5jU3RhdHVzID0gXCJzeW5jU3RhdHVzXCIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE5ldHdvcmsgPSBcIm1haW5uZXRcIiB8IFwidGVzdG5ldFwiIFxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTdGFrZXMgPSB7XHJcbiAgICBmaWx0ZXI/OiB7XHJcbiAgICAgICAgdmFsaWRhdG9yPzogUHVibGljS2V5SGFzaFN0cmluZyxcclxuICAgICAgICB3aXRoZHJhd2VyPzogUHVibGljS2V5SGFzaFN0cmluZyxcclxuICAgIH0sXHJcbiAgICBwYXJhbXM/OiBRdWVyeVN0YWtlc1BhcmFtcyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTdGFrZXNQYXJhbXMgPSB7XHJcbiAgICBkaXN0aW5jdD86IGJvb2xlYW4sXHJcbiAgICBsaW1pdD86IG51bWJlcixcclxuICAgIG9mZnNldD86IG51bWJlcixcclxuICAgIG9yZGVyPzogUXVlcnlTdGFrZXNPcmRlcjtcclxuICAgIHNpbmNlPzogbnVtYmVyLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtlc09yZGVyID0ge1xyXG4gICAgYnk6IFN0YWtlc09yZGVyQnk7XHJcbiAgICByZXZlcnNlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3Rha2VzT3JkZXJCeSB7XHJcbiAgICBDb2lucyA9IFwiY29pbnNcIixcclxuICAgIE5vbmNlID0gXCJub25jZVwiLFxyXG4gICAgTWluaW5nID0gXCJtaW5pbmdcIixcclxuICAgIFdpdG5lc3NpbmcgPSBcIndpdG5lc3NpbmdcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTdGFraW5nUG93ZXJzID0ge1xyXG4gICAgZGlzdGluY3Q/OiBib29sZWFuLFxyXG4gICAgbGltaXQ/OiBudW1iZXIsXHJcbiAgICBvZmZzZXQ/OiBudW1iZXIsXHJcbiAgICBvcmRlckJ5PzogU3Rha2luZ0NhcGFiaWxpdHksXHJcbn1cclxuXHJcbi8vIFN0cnVjdHVyZSB0aGF0IHRoZSBpbmNsdWRlcyB0aGUgY29uZmlybWVkIGFuZCBwZW5kaW5nIGJhbGFuY2Ugb2YgYSBub2RlXHJcbmV4cG9ydCB0eXBlIEJhbGFuY2UgPSB7XHJcbiAgICAvL1RvdGFsIGFtb3VudCBvZiBhIG5vZGUncyBmdW5kcyBhZnRlciBsYXN0IGNvbmZpcm1lZCBzdXBlcmJsb2NrXHJcbiAgICBjb25maXJtZWQ/OiBiaWdpbnQ7XHJcbiAgICAvL1RvdGFsIGFtb3VudCBvZiBub2RlJ3MgZnVuZHMgYWZ0ZXIgbGFzdCBibG9ja1xyXG4gICAgdG90YWw6IGJpZ2ludDtcclxufTtcclxuXHJcbi8vIEJhbGFuY2Ugc3RydWN0IGluIFdpdC8yIGNvbnRhaW5pbmcgbG9ja2VkLCB1bmxvY2tlZCBhbmQgc3Rha2VkIGJhbGFuY2UgXHJcbmV4cG9ydCB0eXBlIEJhbGFuY2UyID0ge1xyXG4gICAgbG9ja2VkOiBiaWdpbnQsXHJcbiAgICBzdGFrZWQ6IGJpZ2ludCxcclxuICAgIHVubG9ja2VkOiBiaWdpbnQsXHJcbn1cclxuXHJcbi8vU3RydWN0IHRoYXQgY291bnQgdGhlIHBvc2l0aXZlcyB2b3RlcyBvZiBhIFdJUFxyXG5leHBvcnQgdHlwZSBCaXRWb3Rlc0NvdW50ZXIgPSB7XHJcbiAgICB2b3RlczogdTMyO1xyXG4gICAgcGVyaW9kOiBFcG9jaDtcclxuICAgIHdpcDogc3RyaW5nO1xyXG4gICAgaW5pdDogRXBvY2g7XHJcbiAgICBlbmQ6IEVwb2NoO1xyXG4gICAgYml0OiB1c2l6ZTtcclxufTtcclxuXHJcbi8vIEJsb2NrIGRhdGEgc3RydWN0dXJlXHJcbmV4cG9ydCB0eXBlIEJsb2NrID0ge1xyXG4gICAgYmxvY2tfaGVhZGVyOiBCbG9ja0hlYWRlcjtcclxuICAgIGJsb2NrX3NpZzogS2V5ZWRTaWduYXR1cmU7XHJcbiAgICBibG9ja193ZWlnaHQ6IG51bWJlcjtcclxuICAgIGNvbmZpcm1lZDogYm9vbGVhbjtcclxuICAgIGRyX3dlaWdodDogbnVtYmVyO1xyXG4gICAgLy8gdHhuczogQmxvY2tUcmFuc2FjdGlvbnM7XHJcbiAgICB0eG5zX2hhc2hlcz86IEJsb2NrVHJhbnNhY3Rpb25zSGFzaGVzO1xyXG4gICAgdnRfd2VpZ2h0OiBudW1iZXI7XHJcbn07XHJcblxyXG4vLyBCbG9jayBtaW5pbmcgZWxpZ2liaWxpdHkgY2xhaW1cclxuZXhwb3J0IHR5cGUgQmxvY2tFbGlnaWJpbGl0eUNsYWltID0ge1xyXG4gICAgLy8gQSBWZXJpZmlhYmxlIFJhbmRvbSBGdW5jdGlvbiBwcm9vZiBvZiB0aGUgZWxpZ2liaWxpdHkgZm9yIGEgZ2l2ZW4gZXBvY2ggYW5kIHB1YmxpYyBrZXlcclxuICAgIHByb29mOiBWcmZQcm9vZjtcclxufTtcclxuXHJcbi8vIEJsb2NrIGhlYWRlciBzdHJ1Y3R1cmVcclxuZXhwb3J0IHR5cGUgQmxvY2tIZWFkZXIgPSB7XHJcbiAgICAvLyBBIGNoZWNrcG9pbnQgYmVhY29uIGZvciB0aGUgZXBvY2ggdGhhdCB0aGlzIGJsb2NrIGlzIGNsb3NpbmdcclxuICAgIGJlYWNvbjogQ2hlY2twb2ludEJlYWNvbjtcclxuICAgIC8vIFRoZSBCbjI1NiBwdWJsaWMga2V5XHJcbiAgICBibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XHJcbiAgICAvLyAyNTYtYml0IGhhc2hlcyBvZiBhbGwgb2YgdGhlIHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9jaywgc28gYXMgdG8gcHJvdmUgdGhlaXIgYmVsb25naW5nIGFuZCBpbnRlZ3JpdHlcclxuICAgIG1lcmtsZV9yb290czogQmxvY2tNZXJrbGVSb290cztcclxuICAgIC8vIEEgbWluZXItcHJvdmlkZWQgcHJvb2Ygb2YgbGVhZGVyc2hpcFxyXG4gICAgcHJvb2Y6IEJsb2NrRWxpZ2liaWxpdHlDbGFpbTtcclxuICAgIC8vIDMyIGJpdHMgZm9yIGJpbmFyeSBzaWduYWxpbmcgbmV3IHdpdG5ldCBwcm90b2NvbCBpbXByb3ZlbWVudHMuXHJcbiAgICAvLyBTZWUgW1dJUC0wMDE0XShodHRwczovL2dpdGh1Yi5jb20vd2l0bmV0L1dJUHMvYmxvYi9tYXN0ZXIvd2lwLTAwMTQubWQpIGZvciBtb3JlIGluZm8uXHJcbiAgICBzaWduYWxzOiB1MzI7ICAgIFxyXG59O1xyXG5cclxuLy8gQmxvY2sgbWVya2xlIHRyZWUgcm9vdHNcclxuZXhwb3J0IHR5cGUgQmxvY2tNZXJrbGVSb290cyA9IHtcclxuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgY29tbWl0IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG4gICAgY29tbWl0X2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XHJcbiAgICAvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIGRhdGEgcmVxdWVzdCB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuICAgIGRyX2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XHJcbiAgICAvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiB0aGUgbWludCB0cmFuc2FjdGlvbiBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG4gICAgbWludF9oYXNoOiBIYXNoO1xyXG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSByZXZlYWwgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcbiAgICByZXZlYWxfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgdGFsbHkgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcbiAgICB0YWxseV9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xyXG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuICAgIHZ0X2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBCbG9ja1RyYW5zYWN0aW9uc0hhc2hlcyA9IHtcclxuICAgIGNvbW1pdDogQXJyYXk8SGFzaD4sXHJcbiAgICBkYXRhX3JlcXVlc3Q6IEFycmF5PEhhc2g+LFxyXG4gICAgbWludDogSGFzaCxcclxuICAgIHJldmVhbDogQXJyYXk8SGFzaD4sXHJcbiAgICB0YWxseTogQXJyYXk8SGFzaD4sXHJcbiAgICB2YWx1ZV90cmFuc2ZlcjogQXJyYXk8SGFzaD5cclxufVxyXG5cclxuLy8gQk4yNTYgcHVibGljIGtleVxyXG5leHBvcnQgdHlwZSBCbjI1NlB1YmxpY0tleSA9IHtcclxuICAgIC8vIENvbXByZXNzZWQgZm9ybSBvZiBhIEJOMjU2IHB1YmxpYyBrZXlcclxuICAgIHB1YmxpY19rZXk6IEFycmF5PHU4PjtcclxuICAgIC8vIENhY2hlZCB1bmNvbXByZXNzZWQgZm9ybVxyXG4gICAgdW5jb21wcmVzc2VkOiBBcnJheTx1OD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDaGVja3BvaW50QmVhY29uID0ge1xyXG4gICAgLy8gVGhlIHNlcmlhbCBudW1iZXIgZm9yIGFuIGVwb2NoXHJcbiAgICBjaGVja3BvaW50OiBFcG9jaDtcclxuICAgIC8vIFRoZSAyNTYtYml0IGhhc2ggb2YgdGhlIHByZXZpb3VzIGJsb2NrIGhlYWRlclxyXG4gICAgaGFzaFByZXZCbG9jazogSGFzaDtcclxufTtcclxuXHJcbi8vIFByb3RvY29sJ3MgY29uc2Vuc3VzIGNvbnN0YW50c1xyXG5leHBvcnQgdHlwZSBDb25zZW5zdXNDb25zdGFudHMgPSB7XHJcbiAgICAvL1RpbWVzdGFtcCBhdCBjaGVja3BvaW50IDAgKHRoZSBzdGFydCBvZiBlcG9jaCAwKVxyXG4gICAgY2hlY2twb2ludF96ZXJvX3RpbWVzdGFtcDogaTY0O1xyXG4gIFxyXG4gICAgLy9TZWNvbmRzIGJldHdlZW4gdGhlIHN0YXJ0IG9mIGFuIGVwb2NoIGFuZCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgb25lXHJcbiAgICBjaGVja3BvaW50c19wZXJpb2Q6IHUxNjtcclxuICBcclxuICAgIC8vQXV4aWxpYXJ5IGJvb3RzdHJhcCBibG9jayBoYXNoIHZhbHVlXHJcbiAgICBib290c3RyYXBfaGFzaDogSGFzaDtcclxuICBcclxuICAgIC8vR2VuZXNpcyBibG9jayBoYXNoIHZhbHVlXHJcbiAgICBnZW5lc2lzX2hhc2g6IEhhc2g7XHJcbiAgXHJcbiAgICAvL01heGltdW0gd2VpZ2h0IGEgYmxvY2sgY2FuIGhhdmUsIHRoaXMgYWZmZWN0cyB0aGUgbnVtYmVyIG9mXHJcbiAgICAvL3RyYW5zYWN0aW9ucyBhIGJsb2NrIGNhbiBjb250YWluOiB0aGVyZSB3aWxsIGJlIGFzIG1hbnlcclxuICAgIC8vdHJhbnNhY3Rpb25zIGFzIHRoZSBzdW0gb2YgX3RoZWlyXyB3ZWlnaHRzIGlzIGxlc3MgdGhhbiwgb3JcclxuICAgIC8vZXF1YWwgdG8sIHRoaXMgbWF4aW11bSBibG9jayB3ZWlnaHQgcGFyYW1ldGVyLlxyXG4gICAgLy9cclxuICAgIC8vTWF4aW11bSBhZ2dyZWdhdGVkIHdlaWdodCBvZiBhbGwgdGhlIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcclxuICAgIG1heF92dF93ZWlnaHQ6IHUzMjtcclxuXHJcbiAgICAvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSBkYXRhIHJlcXVlc3RzIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcclxuICAgIG1heF9kcl93ZWlnaHQ6IHUzMjtcclxuICBcclxuICAgIC8vQW4gaWRlbnRpdHkgaXMgY29uc2lkZXJlZCBhY3RpdmUgaWYgaXQgcGFydGljaXBhdGVkIGluIHRoZSB3aXRuZXNzaW5nIHByb3RvY29sIGF0IGxlYXN0IG9uY2UgaW4gdGhlIGxhc3QgYGFjdGl2aXR5X3BlcmlvZGAgZXBvY2hzXHJcbiAgICBhY3Rpdml0eV9wZXJpb2Q6IHUzMjtcclxuICBcclxuICAgIC8vUmVwdXRhdGlvbiB3aWxsIGV4cGlyZSBhZnRlciBOIHdpdG5lc3NpbmcgYWN0c1xyXG4gICAgcmVwdXRhdGlvbl9leHBpcmVfYWxwaGFfZGlmZjogdTMyO1xyXG4gIFxyXG4gICAgLy9SZXB1dGF0aW9uIGlzc3VhbmNlXHJcbiAgICByZXB1dGF0aW9uX2lzc3VhbmNlOiB1MzI7XHJcbiAgXHJcbiAgICAvL1doZW4gdG8gc3RvcCBpc3N1aW5nIG5ldyByZXB1dGF0aW9uXHJcbiAgICByZXB1dGF0aW9uX2lzc3VhbmNlX3N0b3A6IHUzMjtcclxuICBcclxuICAgIC8vUGVuYWxpemF0aW9uIGZhY3RvcjogZnJhY3Rpb24gb2YgcmVwdXRhdGlvbiBsb3N0IGJ5IGxpYXJzIGZvciBvdXQgb2YgY29uc2Vuc3VzIGNsYWltc1xyXG4gICAgLy8gRklYTUUoIzE3Mik6IFVzZSBmaXhlZCBwb2ludCBhcml0aG1ldGljXHJcbiAgICByZXB1dGF0aW9uX3BlbmFsaXphdGlvbl9mYWN0b3I6IGY2NDtcclxuICBcclxuICAgIC8vQmFja3VwIGZhY3RvciBmb3IgbWluaW5nOiB2YWxpZCBWUkZzIHVuZGVyIHRoaXMgZmFjdG9yIHdpbGwgcmVzdWx0IGluIGJyb2FkY2FzdGluZyBhIGJsb2NrXHJcbiAgICBtaW5pbmdfYmFja3VwX2ZhY3RvcjogdTMyO1xyXG4gIFxyXG4gICAgLy9SZXBsaWNhdGlvbiBmYWN0b3IgZm9yIG1pbmluZzogdmFsaWQgVlJGcyB1bmRlciB0aGlzIGZhY3RvciB3aWxsIGhhdmUgcHJpb3JpdHlcclxuICAgIG1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3I6IHUzMjtcclxuICBcclxuICAgIC8vTWluaW11bSB2YWx1ZSBpbiBuYW5vd2l0cyBmb3IgYSBjb2xsYXRlcmFsIHZhbHVlXHJcbiAgICBjb2xsYXRlcmFsX21pbmltdW06IGJpZ2ludDtcclxuICBcclxuICAgIC8vTWluaW11bSBpbnB1dCBhZ2Ugb2YgYW4gVVRYTyBmb3IgYmVpbmcgYSB2YWxpZCBjb2xsYXRlcmFsXHJcbiAgICBjb2xsYXRlcmFsX2FnZTogdTMyO1xyXG4gIFxyXG4gICAgLy9CdWlsZCBhIHN1cGVyYmxvY2sgZXZlcnkgYHN1cGVyYmxvY2tfcGVyaW9kYCBlcG9jaHNcclxuICAgIHN1cGVyYmxvY2tfcGVyaW9kOiB1MTY7XHJcbiAgXHJcbiAgICAvL0V4dHJhIHJvdW5kcyBmb3IgY29tbWl0bWVudHMgYW5kIHJldmVhbHNcclxuICAgIGV4dHJhX3JvdW5kczogdTE2O1xyXG4gIFxyXG4gICAgLy9NaW5pbXVtIGRpZmZpY3VsdHlcclxuICAgIG1pbmltdW1fZGlmZmljdWx0eTogdTMyO1xyXG4gIFxyXG4gICAgLy9OdW1iZXIgb2YgZXBvY2hzIHdpdGggdGhlIG1pbmltdW0gZGlmZmljdWx0eSBhY3RpdmVcclxuICAgIC8vKFRoaXMgbnVtYmVyIHJlcHJlc2VudCB0aGUgbGFzdCBlcG9jaCB3aGVyZSB0aGUgbWluaW11bSBkaWZmaWN1bHR5IGlzIGFjdGl2ZSlcclxuICAgIGVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eTogdTMyO1xyXG4gIFxyXG4gICAgLy9TdXBlcmJsb2NrIHNpZ25pbmcgY29tbWl0dGVlIGZvciB0aGUgZmlyc3Qgc3VwZXJibG9ja3NcclxuICAgIGJvb3RzdHJhcHBpbmdfY29tbWl0dGVlOiBBcnJheTxzdHJpbmc+O1xyXG4gIFxyXG4gICAgLy9TaXplIG9mIHRoZSBzdXBlcmJsb2NrIHNpZ25pbmcgY29tbWl0dGVlXHJcbiAgICBzdXBlcmJsb2NrX3NpZ25pbmdfY29tbWl0dGVlX3NpemU6IHUzMjtcclxuICBcclxuICAgIC8vUGVyaW9kIGFmdGVyIHdoaWNoIHRoZSBjb21taXR0ZWUgc2l6ZSBzaG91bGQgZGVjcmVhc2UgKGluIHN1cGVyYmxvY2sgcGVyaW9kcylcclxuICAgIHN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfcGVyaW9kOiB1MzI7XHJcbiAgXHJcbiAgICAvL1N0ZXAgYnkgd2hpY2ggdGhlIGNvbW1pdHRlZSBzaG91bGQgYmUgcmVkdWNlZCBhZnRlciBzdXBlcmJsb2NrX2FncmVlbWVudF9kZWNyZWFzaW5nX3BlcmlvZFxyXG4gICAgc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19zdGVwOiB1MzI7XHJcbiAgXHJcbiAgICAvL0luaXRpYWwgYmxvY2sgcmV3YXJkXHJcbiAgICBpbml0aWFsX2Jsb2NrX3Jld2FyZDogdTY0O1xyXG4gIFxyXG4gICAgLy9IYWx2aW5nIHBlcmlvZFxyXG4gICAgaGFsdmluZ19wZXJpb2Q6IHUzMjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UGF5bG9hZCA9IHtcclxuICAgIGRhdGFSZXF1ZXN0OiBSQURSZXF1ZXN0O1xyXG4gICAgd2l0bmVzc19yZXdhcmQ6IG51bWJlcjtcclxuICAgIHdpdG5lc3NlczogbnVtYmVyO1xyXG4gICAgY29tbWl0QW5kUmV2ZWFsRmVlOiBudW1iZXI7XHJcbiAgICBtaW5Db25zZW5zdXNQZXJjZW50YWdlOiBudW1iZXI7XHJcbiAgICBjb2xsYXRlcmFsOiBudW1iZXI7XHJcbn07XHJcblxyXG4vLyBMaXN0IG9mIG91dHB1dHMgcmVsYXRlZCB0byBhIGRhdGEgcmVxdWVzdFxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJlcG9ydCA9IHtcclxuICAgIC8vIExpc3Qgb2YgY29tbWl0bWVudHMgdG8gcmVzb2x2ZSB0aGUgZGF0YSByZXF1ZXN0XHJcbiAgICBjb21taXRzOiBSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbj47XHJcbiAgICAvL0xpc3Qgb2YgcmV2ZWFscyB0byB0aGUgY29tbWl0bWVudHMgKGNvbnRhaW5zIHRoZSBkYXRhIHJlcXVlc3Qgd2l0bmV0IHJlc3VsdClcclxuICAgIHJldmVhbHM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uPjtcclxuICAgIC8vVGFsbHkgb2YgZGF0YSByZXF1ZXN0IChjb250YWlucyBmaW5hbCByZXN1bHQpXHJcbiAgICB0YWxseT86IERhdGFSZXF1ZXN0VGFsbHlUcmFuc2FjdGlvbjtcclxuICAgIC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgRGF0YVJlcXVlc3RUcmFuc2FjdGlvblxyXG4gICAgYmxvY2tfaGFzaF9kcl90eD86IEhhc2g7XHJcbiAgICAvL0hhc2ggb2YgdGhlIGJsb2NrIHdpdGggdGhlIFRhbGx5VHJhbnNhY3Rpb25cclxuICAgIGJsb2NrX2hhc2hfdGFsbHlfdHg/OiBIYXNoO1xyXG4gICAgLy9DdXJyZW50IGNvbW1pdCByb3VuZFxyXG4gICAgY3VycmVudF9jb21taXRfcm91bmQ6IHUxNjtcclxuICAgIC8vQ3VycmVudCByZXZlYWwgcm91bmRcclxuICAgIGN1cnJlbnRfcmV2ZWFsX3JvdW5kOiB1MTY7XHJcbiAgICAvL0N1cnJlbnQgc3RhZ2UsIG9yIE5vbmUgaWYgZmluaXNoZWRcclxuICAgIGN1cnJlbnRfc3RhZ2U/OiBEYXRhUmVxdWVzdFN0YWdlO1xyXG59O1xyXG5cclxuLy8gRGF0YSByZXF1ZXN0IGN1cnJlbnQgc3RhZ2VcclxuZXhwb3J0IGVudW0gRGF0YVJlcXVlc3RTdGFnZSB7XHJcbiAgICAvL0V4cGVjdGluZyBjb21taXRtZW50cyBmb3IgZGF0YSByZXF1ZXN0XHJcbiAgICBDT01NSVQgPSBcIkNPTU1JVFwiLFxyXG4gICAgLy9FeHBlY3RpbmcgcmV2ZWFscyB0byBwcmV2aW91c2x5IHB1Ymxpc2hlZCBjb21taXRtZW50c1xyXG4gICAgUkVWRUFMID0gXCJSRVZFQUxcIixcclxuICAgIC8vRXhwZWN0aW5nIHRhbGx5IHRvIGJlIGluY2x1ZGVkIGluIGJsb2NrXHJcbiAgICBUQUxMWSA9IFwiVEFMTFlcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJpb3JpdHlFc3RpbWF0ZSA9IHtcclxuICAgIHByaW9yaXR5OiBmNjQ7XHJcbiAgICB0aW1lX3RvX2Jsb2NrOiB1NjQ7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByaW9yaXRpZXMgPSB7XHJcbiAgICBkcnRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgZHJ0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIGRydF9tZWRpdW06IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICBkcnRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIGRydF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgc3Rfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgc3RfbG93OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgc3RfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgc3RfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHN0X29wdWxlbnQ6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB1dF9zdGlua3k6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB1dF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB1dF9tZWRpdW06IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB1dF9oaWdoOiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdXRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHZ0dF9zdGlua3k6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB2dHRfbG93OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdnR0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHZ0dF9oaWdoOiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdnR0X29wdWxlbnQ6IFByaW9yaXR5RXN0aW1hdGU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEtleWVkU2lnbmF0dXJlID0ge1xyXG4gICAgLy8gU2lnbmF0dXJlXHJcbiAgICBzaWduYXR1cmU6IFNpZ25hdHVyZTtcclxuICAgIC8vIFB1YmxpYyBrZXlcclxuICAgIHB1YmxpY19rZXk6IHtcclxuICAgICAgICBjb21wcmVzc2VkOiBudW1iZXIsXHJcbiAgICAgICAgYnl0ZXM6IEFycmF5PHU4PjtcclxuICAgIH0sXHJcbn07XHJcblxyXG4vLyBSZXN1bHQgb2YgR2V0TWVtcG9vbCBtZXNzYWdlOiBsaXN0IG9mIHBlbmRpbmcgdHJhbnNhY3Rpb25zIGNhdGVnb3JpemVkIGJ5IHR5cGVcclxuZXhwb3J0IHR5cGUgTWVtcG9vbCA9IHtcclxuICAgIC8vIFBlbmRpbmcgdmFsdWUgdHJhbnNmZXIgdHJhbnNhY3Rpb25zXHJcbiAgICB2YWx1ZV90cmFuc2ZlcjogQXJyYXk8SGFzaD47XHJcbiAgICAvLyBQZW5kaW5nIGRhdGEgcmVxdWVzdCB0cmFuc2FjdGlvbnNcclxuICAgIGRhdGFfcmVxdWVzdDogQXJyYXk8SGFzaD47XHJcbn07XHJcblxyXG4vLyBOYW1lZCB0dXBsZSBvZiBgKGFkZHJlc3MsIHR5cGUpYFxyXG5leHBvcnQgdHlwZSBQZWVyQWRkciA9IHtcclxuICAgIC8vU29ja2V0IGFkZHJlc3Mgb2YgdGhlIHBlZXJcclxuICAgIGFkZHJlc3M6IHN0cmluZztcclxuICAgIC8vIFwiaW5ib3VuZFwiIHwgXCJvdXRib3VuZFwiIHdoZW4gYXNraW5nIGZvciBjb25uZWN0ZWQgcGVlcnMsIG9yXHJcbiAgICAvLyBcIm5ld1wiIHwgXCJ0cmllZFwiIHdoZW4gYXNraW5nIGZvciBhbGwgdGhlIGtub3duIHBlZXJzXHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm90b2NvbEluZm8gPSB7XHJcbiAgICBhbGxfY2hlY2twb2ludHNfcGVyaW9kczogUmVjb3JkPHN0cmluZywgdTg+LFxyXG4gICAgYWxsX3ZlcnNpb25zOiB7XHJcbiAgICAgICAgZWZ2OiBSZWNvcmQ8c3RyaW5nLCBFcG9jaD4sXHJcbiAgICAgICAgdmZlOiBSZWNvcmQ8RXBvY2gsIHN0cmluZz4sXHJcbiAgICB9LFxyXG4gICAgY3VycmVudF92ZXJzaW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJBREFnZ3JlZ2F0ZSA9IHsgZmlsdGVyczogQXJyYXk8UkFERmlsdGVyPjsgcmVkdWNlcjogdTMyIH07XHJcbmV4cG9ydCB0eXBlIFJBREZpbHRlciA9IHsgb3A6IHUzMjsgYXJnczogQXJyYXk8dTg+IH07XHJcbmV4cG9ydCB0eXBlIFJBRFJlcXVlc3QgPSB7XHJcbiAgICB0aW1lTG9jazogbnVtYmVyO1xyXG4gICAgcmV0cmlldmU6IEFycmF5PFJBRFJldHJpZXZlPjtcclxuICAgIGFnZ3JlZ2F0ZTogUkFEQWdncmVnYXRlO1xyXG4gICAgdGFsbHk6IFJBRFRhbGx5O1xyXG59O1xyXG5leHBvcnQgdHlwZSBSQURSZXRyaWV2ZSA9IHsgdHlwZTogUkFEVHlwZTsgdXJsOiBzdHJpbmc7IHNjcmlwdDogQXJyYXk8dTg+IH07XHJcbmV4cG9ydCB0eXBlIFJBRFRhbGx5ID0ge1xyXG4gICAgZmlsdGVyczogQXJyYXk8UkFERmlsdGVyPjtcclxuICAgIHJlZHVjZXI6IHUzMjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFJBRFR5cGUge1xyXG4gICAgSHR0cEdldCA9IFwiSFRUUC1HRVRcIixcclxuICAgIEh0dHBQb3N0ID0gXCJIVFRQLVBPU1RcIixcclxuICAgIEh0dHBIZWFkID0gXCJIVFRQLUhFQURcIixcclxuICAgIFJuZyA9IFwiUk5HXCIsXHJcbn1cclxuXHJcbi8vIEVDRFNBIChvdmVyIHNlY3AyNTZrMSkgc2lnbmF0dXJlXHJcbmV4cG9ydCB0eXBlIFNlY3AyNTZrMVNpZ25hdHVyZSA9IHtcclxuICAgIC8vIFRoZSBzaWduYXR1cmUgc2VyaWFsaXplZCBpbiBERVJcclxuICAgIGRlcjogQXJyYXk8dTg+O1xyXG59O1xyXG5cclxuLy9SZXN1bHQgb2YgR2V0U2lnbmFsaW5nSW5mb1xyXG5leHBvcnQgdHlwZSBTaWduYWxpbmdJbmZvID0ge1xyXG4gICAgLy9MaXN0IG9mIHByb3RvY29sIHVwZ3JhZGVzIHRoYXQgYXJlIGFscmVhZHkgYWN0aXZlLCBhbmQgdGhlaXIgYWN0aXZhdGlvbiBlcG9jaFxyXG4gICAgYWN0aXZlX3VwZ3JhZGVzOiBSZWNvcmQ8c3RyaW5nLCBFcG9jaD47XHJcbiAgICAvL0xpc3Qgb2YgcHJvdG9jb2wgdXBncmFkZXMgdGhhdCBhcmUgY3VycmVudGx5IGJlaW5nIHBvbGxlZCBmb3IgYWN0aXZhdGlvbiBzaWduYWxpbmdcclxuICAgIHBlbmRpbmdfdXBncmFkZXM6IEFycmF5PEJpdFZvdGVzQ291bnRlcj47XHJcbiAgICAvL0xhc3QgZXBvY2hcclxuICAgIGVwb2NoOiBFcG9jaDtcclxuICB9O1xyXG5cclxuLy8gRGlnaXRhbCBzaWduYXR1cmVzIHN0cnVjdHVyZSAoYmFzZWQgb24gc3VwcG9ydGVkIGNyeXB0b3N5c3RlbXMpXHJcbmV4cG9ydCB0eXBlIFNpZ25hdHVyZSA9IHtcclxuICAgIC8vIEVDRFNBIG92ZXIgc2VjcDI1NmsxXHJcbiAgICBTZWNwMjU2azE6IFNlY3AyNTZrMVNpZ25hdHVyZTtcclxufVxyXG5cclxuLy8gU3RhdGUgbWFjaGluZSBmb3IgdGhlIHN5bmNocm9uaXphdGlvbiBzdGF0dXMgb2YgYSBXaXRuZXQgbm9kZVxyXG5leHBvcnQgZW51bSBTdGF0ZU1hY2hpbmUge1xyXG4gICAgLy8gRmlyc3Qgc3RhdGUsIENoYWluTWFuYWdlciBpcyB3YWl0aW5nIGZvciByZWFjaGluZyAgY29uc2Vuc3VzIGJldHdlZW4gaXRzIHBlZXJzXHJcbiAgICBXYWl0aW5nQ29uc2Vuc3VzID0gXCJXYWl0aW5nQ29uc2Vuc3VzXCIsXHJcbiAgICAvLyBTZWNvbmQgc3RhdGUsIENoYWluTWFuYWdlciBzeW5jaHJvbml6YXRpb24gcHJvY2Vzc1xyXG4gICAgU3luY2hyb25pemluZyA9IFwiU3luY2hyb25pemluZyBcIixcclxuICAgIC8vIFRoaXJkIHN0YXRlLCBgQ2hhaW5NYW5hZ2VyYCBoYXMgYWxsIHRoZSBibG9ja3MgaW4gdGhlIGNoYWluIGFuZCBpcyByZWFkeSB0byBzdGFydFxyXG4gICAgLy8gY29uc29saWRhdGluZyBibG9jayBjYW5kaWRhdGVzIGluIHJlYWwgdGltZS5cclxuICAgIEFsbW9zdFN5bmNlZCA9IFwiQWxtb3N0U3luY2VkXCIsXHJcbiAgICAvLyBGb3VydGggc3RhdGUsIGBDaGFpbk1hbmFnZXJgIGNhbiBjb25zb2xpZGF0ZSBibG9jayBjYW5kaWRhdGVzLCBwcm9wb3NlIGl0cyBvd25cclxuICAgIC8vIGNhbmRpZGF0ZXMgKG1pbmluZykgYW5kIHBhcnRpY2lwYXRlIGluIHJlc29sdmluZyBkYXRhIHJlcXVlc3RzICh3aXRuZXNzaW5nKS5cclxuICAgIFN5bmNlZCA9IFwiU3luY2VkXCIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlQXV0aG9yaXphdGlvbiA9IHtcclxuICAgIHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbiAgICBzaWduYXR1cmU6IEtleWVkU2lnbmF0dXJlLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZURlbGVnYXRlID0ge1xyXG4gICAgY29pbnM6IGJpZ2ludCxcclxuICAgIHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZyxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3Rha2VFbnRyeSA9IHtcclxuICAgIGtleToge1xyXG4gICAgICAgIHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZyxcclxuICAgICAgICB3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG4gICAgfSxcclxuICAgIHZhbHVlOiB7XHJcbiAgICAgICAgY29pbnM6IGJpZ2ludCxcclxuICAgICAgICBlcG9jaHM6IFJlY29yZDxTdGFraW5nQ2FwYWJpbGl0eSwgRXBvY2g+LFxyXG4gICAgICAgIG5vbmNlOiB1NjQsXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlID0ge1xyXG4gICAgdG90YWw6IGJpZ2ludCxcclxuICAgIGRlbGVnYXRlczogQXJyYXk8U3Rha2VEZWxlZ2F0ZT4sXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YWtpbmdDYXBhYmlsaXR5IHtcclxuICAgIE1pbmluZyA9IFwibWluaW5nXCIsXHJcbiAgICBXaXRuZXNzaW5nID0gXCJ3aXRuZXNzaW5nXCIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtpbmdQb3dlciA9IHtcclxuICAgIHBvd2VyPzogdTY0LFxyXG4gICAgcmFua2luZz86IHUzMixcclxuICAgIHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZyxcclxuICAgIHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbn1cclxuXHJcbi8vIFN1cGVyYmxvY2sgY29uc29saWRhdGluZyBtZXRhZGF0YVxyXG4vL0FzIHBlciBjdXJyZW50IGNvbnNlbnN1cyBhbGdvcml0aG0sIFwiY29uc29saWRhdGVkIGJsb2Nrc1wiIGltcGxpZXMgdGhhdCB0aGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lXHJcbi8vc3VwZXJibG9jayBpbiB0aGUgY2hhaW4gdGhhdCBidWlsZHMgdXBvbiB0aGUgc3VwZXJibG9jayB3aGVyZSB0aG9zZSBibG9ja3Mgd2VyZSBhbmNob3JlZC5cclxuZXhwb3J0IHR5cGUgU3VwZXJibG9ja1JlcG9ydCA9IHtcclxuICAgIC8vVGhlIHN1cGVyYmxvY2sgdGhhdCB3ZSBhcmUgc2lnbmFsaW5nIGFzIGNvbnNvbGlkYXRlZC5cclxuICAgIHN1cGVyYmxvY2s6IHtcclxuICAgICAgICAvL051bWJlciBvZiBzaWduaW5nIGNvbW1pdHRlZSBtZW1iZXJzLFxyXG4gICAgICAgIHNpZ25pbmdfY29tbWl0dGVlX2xlbmd0aDogdTMyO1xyXG4gICAgICAgIC8vTWVya2xlIHJvb3Qgb2YgdGhlIEFjdGl2ZSBSZXB1dGF0aW9uIFNldCBtZW1iZXJzIGluY2x1ZGVkIGludG8gdGhlIHByZXZpb3VzIFN1cGVyQmxvY2tcclxuICAgICAgICBhcnNfcm9vdDogSGFzaDtcclxuICAgICAgICAvL01lcmtsZSByb290IG9mIHRoZSBkYXRhIHJlcXVlc3RzIGluIHRoZSBibG9ja3MgY3JlYXRlZCBzaW5jZSB0aGUgbGFzdCBTdXBlckJsb2NrXHJcbiAgICAgICAgZGF0YV9yZXF1ZXN0X3Jvb3Q6IEhhc2g7XHJcbiAgICAgICAgLy9TdXBlcmJsb2NrIGluZGV4LFxyXG4gICAgICAgIGluZGV4OiB1MzI7XHJcbiAgICAgICAgLy9IYXNoIG9mIHRoZSBibG9jayB0aGF0IHRoaXMgU3VwZXJCbG9jayBpcyBhdHRlc3RpbmcgYXMgdGhlIGxhdGVzdCBibG9jayBpbiB0aGUgYmxvY2sgY2hhaW4sXHJcbiAgICAgICAgbGFzdF9ibG9jazogSGFzaDtcclxuICAgICAgICAvL0hhc2ggb2YgdGhlIGJsb2NrIHRoYXQgdGhlIHByZXZpb3VzIFN1cGVyQmxvY2sgdXNlZCBmb3IgaXRzIG93biBgbGFzdF9ibG9ja2AgZmllbGQsXHJcbiAgICAgICAgbGFzdF9ibG9ja19pbl9wcmV2aW91c19zdXBlcmJsb2NrOiBIYXNoO1xyXG4gICAgICAgIC8vTWVya2xlIHJvb3Qgb2YgdGhlIHRhbGxpZXMgaW4gdGhlIGJsb2NrcyBjcmVhdGVkIHNpbmNlIHRoZSBsYXN0IFN1cGVyQmxvY2tcclxuICAgICAgICB0YWxseV9yb290OiBIYXNoO1xyXG4gICAgfSxcclxuICAgIC8vVGhlIGhhc2hlcyBvZiB0aGUgYmxvY2tzIHRoYXQgd2UgYXJlIHNpZ25hbGluZyBhcyBjb25zb2xpZGF0ZWQuXHJcbiAgICBjb25zb2xpZGF0ZWRfYmxvY2tfaGFzaGVzOiBBcnJheTxIYXNoPjtcclxufTtcclxuICBcclxuXHJcbi8vIEluZm9ybWF0aW9uIGFib3V0IHRoZSB0b3RhbCBzdXBwbHlcclxuZXhwb3J0IHR5cGUgU3VwcGx5SW5mbyA9IHtcclxuICAgIC8vQ3VycmVudCBlcG9jaFxyXG4gICAgZXBvY2g6IHUzMjtcclxuICAgIC8vQ3VycmVudCB0aW1lXHJcbiAgICBjdXJyZW50X3RpbWU6IHU2NDtcclxuICAgIC8vTnVtYmVyIG9mIGJsb2NrcyBtaW50ZWRcclxuICAgIGJsb2Nrc19taW50ZWQ6IHUzMjtcclxuICAgIC8vV0lUIG1pbnRlZCB0aHJvdWdoIGJsb2NrIGNyZWF0aW9uXHJcbiAgICBibG9ja3NfbWludGVkX3Jld2FyZDogdTY0O1xyXG4gICAgLy9BbW91bnQgb2YgbmFub3dpdHMgdGhhdCBoYXZlIGJlZW4gYnVybnQgc28gZmFyXHJcbiAgICBidXJudF9zdXBwbHk6IGJpZ2ludDtcclxuICAgIC8vQ3VycmVudCBsb2NrZWQgc3VwcGx5XHJcbiAgICBjdXJyZW50X2xvY2tlZF9zdXBwbHk6IGJpZ2ludDtcclxuICAgIC8vQ3VycmVudCBzdGFrZWQgc3VwcGx5XHJcbiAgICBjdXJyZW50X3N0YWtlZF9zdXBwbHk6IGJpZ2ludDtcclxuICAgIC8vQ3VycmVudCB1bmxvY2tlZCBzdXBwbHlcclxuICAgIGN1cnJlbnRfdW5sb2NrZWRfc3VwcGx5OiBiaWdpbnQ7XHJcbiAgICAvL0luaXRpYWwgc3VwcGx5XHJcbiAgICBpbml0aWFsX3N1cHBseTogYmlnaW50O1xyXG4gICAgLy9XSVQgY3VycmVudGx5IGxvY2tlZCBhcyBjb2xsYXRlcmFsIGJ5IGluLWZsaWdodCBkYXRhIHJlcXVlc3RzXHJcbiAgICByZXF1ZXN0c19pbl9mbGlnaHRfY29sbGF0ZXJhbDogdTY0O1xyXG4gIH07XHJcblxyXG4vLyBOb2RlIHN5bmNocm9uaXphdGlvbiBzdGF0dXNcclxuZXhwb3J0IHR5cGUgU3luY1N0YXR1cyA9IHtcclxuICAgIC8vIFRoZSBoYXNoIG9mIHRoZSB0b3AgY29uc29saWRhdGVkIGJsb2NrIGFuZCB0aGUgZXBvY2ggb2YgdGhhdCBibG9ja1xyXG4gICAgY2hhaW5fYmVhY29uOiBDaGVja3BvaW50QmVhY29uO1xyXG4gICAgLy8gVGhlIGN1cnJlbnQgZXBvY2gsIG9yIE5vbmUgaWYgdGhlIGVwb2NoIDAgaXMgaW4gdGhlIGZ1dHVyZVxyXG4gICAgY3VycmVudF9lcG9jaD86IEVwb2NoO1xyXG4gICAgLy8gTm9kZSBTdGF0ZVxyXG4gICAgbm9kZV9zdGF0ZTogU3RhdGVNYWNoaW5lO1xyXG59O1xyXG5cclxuLy8gSW5mb3JtYXRpb24gYWJvdXQgb3VyIG93biBVVFhPc1xyXG5leHBvcnQgdHlwZSBVdHhvSW5mbyA9IHtcclxuICAgIC8vVmVjdG9yIG9mIFV0eG9Qb2ludGVycyB3aXRoIHRoZWlyIHZhbHVlcywgdGltZV9sb2NrcyBhbmQgaWYgaXQgaXMgcmVhZHkgZm9yIGNvbGxhdGVyYWxcclxuICAgIHV0eG9zOiBBcnJheTxVdHhvTWV0YWRhdGE+O1xyXG4gICAgLy9NaW5pbXVtIGNvbGxhdGVyYWwgZnJvbSBjb25zZW5zdXMgY29uc3RhbnRzXHJcbiAgICBjb2xsYXRlcmFsX21pbjogYmlnaW50O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXR4b01ldGFkYXRhID0ge1xyXG4gICAgb3V0cHV0X3BvaW50ZXI6IHN0cmluZztcclxuICAgIHRpbWVsb2NrOiB1NjQ7XHJcbiAgICB1dHhvX21hdHVyZT86IGJvb2xlYW47XHJcbiAgICB2YWx1ZTogYmlnaW50O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsdWVUcmFuc2Zlck91dHB1dCA9IHtcclxuICAgIHBraDogSGFzaDtcclxuICAgIHZhbHVlOiBiaWdpbnQ7XHJcbiAgICB0aW1lX2xvY2s6IHU2NDtcclxufTtcclxuXHJcbi8vIEEgVlJGIFByb29mIGlzIGEgdW5pcXVlLCBkZXRlcm1pbmlzdGljIHdheSB0byBzaWduIGEgbWVzc2FnZSB3aXRoIGEgcHVibGljIGtleS5cclxuLy8gSXQgaXMgdXNlZCB0byBwcmV2ZW50IG9uZSBpZGVudGl0eSBmcm9tIGNyZWF0aW5nIG11bHRpcGxlIGRpZmZlcmVudCBwcm9vZnMgb2YgZWxpZ2liaWxpdHkuXHJcbmV4cG9ydCB0eXBlIFZyZlByb29mID0ge1xyXG4gICAgcHJvb2Y6IFVpbnQ4QXJyYXk7XHJcbiAgICBwdWJsaWNfa2V5OiBVaW50OEFycmF5OyAvL1B1YmxpY0tleTtcclxufTtcclxuXHJcblxyXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLy8gLS0tIFRyYW5zYWN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25SZXBvcnQgPSB7XHJcbiAgICBibG9ja0Vwb2NoOiBFcG9jaCxcclxuICAgIGJsb2NrSGFzaDogSGFzaCxcclxuICAgIGJsb2NrVGltZXN0YW1wOiBudW1iZXIsXHJcbiAgICBjb25maXJtYXRpb25zOiBudW1iZXIsXHJcbiAgICBjb25maXJtZWQ6IGJvb2xlYW4sXHJcbiAgICB0cmFuc2FjdGlvbjoge1xyXG4gICAgICAgIFJldmVhbD86IERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24sXHJcbiAgICAgICAgQ29tbWl0PzogRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbixcclxuICAgICAgICBUYWxseT86IERhdGFSZXF1ZXN0VGFsbHlUcmFuc2FjdGlvbixcclxuICAgIH0sXHJcbiAgICB3ZWlnaHQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uID0ge1xyXG4gICAgYm9keTogRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbkJvZHk7XHJcbiAgICBzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uQm9keSA9IHtcclxuICAgIC8vIERhdGFSZXF1ZXN0VHJhbnNhY3Rpb24gaGFzaFxyXG4gICAgZHJfcG9pbnRlcjogSGFzaDtcclxuICAgIC8vIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24gU2lnbmF0dXJlIEhhc2hcclxuICAgIGNvbW1pdG1lbnQ6IEhhc2g7XHJcbiAgICAvLyBDaGFuZ2UgZnJvbSBjb2xsYXRlcmFsLiBUaGUgb3V0cHV0IHBraCBtdXN0IGJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dHMsXHJcbiAgICAvLyBhbmQgdGhlcmUgY2FuIG9ubHkgYmUgb25lIG91dHB1dFxyXG4gICAgb3V0cHV0czogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD47XHJcbiAgICAvLyBCTFMgcHVibGljIGtleSAoY3VydmUgYm4yNTYpXHJcbiAgICBibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XHJcblxyXG4gICAgaGFzaDogSGFzaDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24gPSB7XHJcbiAgICBib2R5OiBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keTtcclxuICAgIHNpZ25hdHVyZXM6IEFycmF5PEtleWVkU2lnbmF0dXJlPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb25Cb2R5ID0ge1xyXG4gICAgLy8gSW5wdXRzXHJcbiAgICBkcl9wb2ludGVyOiBIYXNoOyAvLyBEVFRyYW5zYWN0aW9uIGhhc2hcclxuICAgIC8vIE91dHB1dHNcclxuICAgIHJldmVhbDogQXJyYXk8dTg+O1xyXG4gICAgcGtoOiB7IGhhc2g6IFVpbnQ4QXJyYXk7IH07IC8vIHdoZXJlIHRvIHJlY2VpdmUgcmV3YXJkXHJcbiAgICBoYXNoOiBIYXNoO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uID0ge1xyXG4gICAgLy8gRGF0YVJlcXVlc3RUcmFuc2FjdGlvbiBoYXNoXHJcbiAgICBkcl9wb2ludGVyOiBIYXNoO1xyXG4gICAgLy8gVGFsbHkgcmVzdWx0XHJcbiAgICB0YWxseTogVWludDhBcnJheTtcclxuICAgIC8vIFdpdG5lc3MgcmV3YXJkc1xyXG4gICAgb3V0cHV0czogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD47XHJcbiAgICAvLyBBZGRyZXNzZXMgdGhhdCBhcmUgb3V0IG9mIGNvbnNlbnN1cyAobm9uIHJldmVhbGVycyBpbmNsdWRlZClcclxuICAgIG91dF9vZl9jb25zZW5zdXM6IEFycmF5PHsgaGFzaDogVWludDhBcnJheSB9PjtcclxuICAgIC8vIEFkZHJlc3NlcyB0aGF0IGNvbW1pdCBhIFJhZG9uRXJyb3IgKG9yIGNvbnNpZGVyZWQgYXMgYW4gRXJyb3IgZHVlIHRvIGEgUmFkb25FcnJvciBjb25zZW5zdXMpXHJcbiAgICBlcnJvcl9jb21taXR0ZXJzOiBBcnJheTx7IGhhc2g6IFVpbnQ4QXJyYXkgfT47ICBcclxuICAgIC8vIFRPRE9cclxuICAgIC8vIGhhc2g6IEhhc2g7XHJcbn07XHJcblxyXG4vLy8gTm9kZSBzdGF0c1xyXG5leHBvcnQgdHlwZSBOb2RlU3RhdHMgPSB7XHJcbiAgICAvL051bWJlciBvZiBwcm9wb3NlZCBibG9ja3NcclxuICAgIGJsb2NrX3Byb3Bvc2VkX2NvdW50OiB1MzI7XHJcbiAgICAvL051bWJlciBvZiBibG9ja3MgaW5jbHVkZWQgaW4gdGhlIGJsb2NrIGNoYWluXHJcbiAgICBibG9ja19taW5lZF9jb3VudDogdTMyO1xyXG4gICAgLy9OdW1iZXIgb2YgdGltZXMgd2Ugd2VyZSBlbGlnaWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBhIERhdGEgUmVxdWVzdFxyXG4gICAgZHJfZWxpZ2liaWxpdHlfY291bnQ6IHUzMjtcclxuICAgIC8vTnVtYmVyIG9mIHByb3Bvc2VkIGNvbW1pdHNcclxuICAgIGNvbW1pdHNfcHJvcG9zZWRfY291bnQ6IHUzMjtcclxuICAgIC8vTnVtYmVyIG9mIGNvbW1pdHMgaW5jbHVkZWQgaW4gYSBkYXRhIHJlcXVlc3RcclxuICAgIGNvbW1pdHNfY291bnQ6IHUzMjtcclxuICAgIC8vTGFzdCBibG9jayBwcm9wb3NlZFxyXG4gICAgbGFzdF9ibG9ja19wcm9wb3NlZDogSGFzaDtcclxuICAgIC8vTnVtYmVyIG9mIHNsYXNoZWQgY29tbWl0c1xyXG4gICAgc2xhc2hlZF9jb3VudDogdTMyO1xyXG59O1xyXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxJQUFZLE9Ba0NYO0FBbENELFdBQVksT0FBTztJQUNmLGdDQUFxQixDQUFBO0lBQ3JCLDRDQUFpQyxDQUFBO0lBQ2pDLG9DQUF5QixDQUFBO0lBQ3pCLGtEQUF1QyxDQUFBO0lBQ3ZDLG9DQUF5QixDQUFBO0lBQ3pCLHNDQUEyQixDQUFBO0lBQzNCLDBDQUErQixDQUFBO0lBQy9CLGdDQUFxQixDQUFBO0lBQ3JCLDBEQUErQyxDQUFBO0lBQy9DLDRDQUFpQyxDQUFBO0lBQ2pDLG9DQUF5QixDQUFBO0lBQ3pCLDRCQUFpQixDQUFBO0lBQ2pCLHdDQUE2QixDQUFBO0lBQzdCLDBDQUErQixDQUFBO0lBQy9CLDJDQUFnQyxDQUFBO0lBQ2hDLDRDQUFpQyxDQUFBO0lBQ2pDLHNDQUEyQixDQUFBO0lBQzNCLGdEQUFxQyxDQUFBO0lBQ3JDLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLG9DQUF5QixDQUFBO0lBQ3pCLDhDQUFtQyxDQUFBO0lBQ25DLGtDQUF1QixDQUFBO0lBQ3ZCLDBCQUFlLENBQUE7SUFDZixnQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBdUIsQ0FBQTtJQUN2Qiw2Q0FBa0MsQ0FBQTtJQUNsQyxzQ0FBMkIsQ0FBQTtJQUMzQiw0QkFBaUIsQ0FBQTtJQUNqQixvREFBeUMsQ0FBQTtJQUN6QywwQ0FBK0IsQ0FBQTtJQUMvQixvQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBbENXLE9BQU8sdUJBQVAsT0FBTyxRQWtDbEI7QUF5QkQsSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsMENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUxXLGFBQWEsNkJBQWIsYUFBYSxRQUt4QjtBQXdQRCw2QkFBNkI7QUFDN0IsSUFBWSxnQkFPWDtBQVBELFdBQVksZ0JBQWdCO0lBQ3hCLHdDQUF3QztJQUN4QyxxQ0FBaUIsQ0FBQTtJQUNqQix1REFBdUQ7SUFDdkQscUNBQWlCLENBQUE7SUFDakIseUNBQXlDO0lBQ3pDLG1DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQVBXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBTzNCO0FBZ0ZELElBQVksT0FLWDtBQUxELFdBQVksT0FBTztJQUNmLCtCQUFvQixDQUFBO0lBQ3BCLGlDQUFzQixDQUFBO0lBQ3RCLGlDQUFzQixDQUFBO0lBQ3RCLHNCQUFXLENBQUE7QUFDZixDQUFDLEVBTFcsT0FBTyx1QkFBUCxPQUFPLFFBS2xCO0FBd0JELGdFQUFnRTtBQUNoRSxJQUFZLFlBV1g7QUFYRCxXQUFZLFlBQVk7SUFDcEIsaUZBQWlGO0lBQ2pGLHFEQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCxnREFBZ0MsQ0FBQTtJQUNoQyxvRkFBb0Y7SUFDcEYsK0NBQStDO0lBQy9DLDZDQUE2QixDQUFBO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQVhXLFlBQVksNEJBQVosWUFBWSxRQVd2QjtBQTZCRCxJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBRzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5SGFzaFN0cmluZyB9IGZyb20gXCIuLi9jcnlwdG8vdHlwZXNcIlxyXG5pbXBvcnQge1xyXG4gICAgRXBvY2gsXHJcbiAgICBIYXNoLFxyXG4gICAgZjY0LCBpNjQsIHU4LCB1MTYsIHUzMiwgdTY0LCB1c2l6ZSxcclxufSBmcm9tIFwiLi4vdHlwZXNcIlxyXG5cclxuZXhwb3J0IGVudW0gTWV0aG9kcyB7XHJcbiAgICBBZGRQZWVycyA9IFwiYWRkUGVlcnNcIixcclxuICAgIEF1dGhvcml6ZVN0YWtlID0gXCJhdXRob3JpemVTdGFrZVwiLFxyXG4gICAgQ2xlYXJQZWVycyA9IFwiY2xlYXJQZWVyc1wiLFxyXG4gICAgRGF0YVJlcXVlc3RSZXBvcnQgPSBcImRhdGFSZXF1ZXN0UmVwb3J0XCIsXHJcbiAgICBHZXRCYWxhbmNlID0gXCJnZXRCYWxhbmNlXCIsXHJcbiAgICBHZXRCYWxhbmNlMiA9IFwiZ2V0QmFsYW5jZTJcIixcclxuICAgIEdldEJsb2NrQ2hhaW4gPSBcImdldEJsb2NrQ2hhaW5cIixcclxuICAgIEdldEJsb2NrID0gXCJnZXRCbG9ja1wiLFxyXG4gICAgR2V0Q29uc2Vuc3VzQ29uc3RhbnRzID0gXCJnZXRDb25zZW5zdXNDb25zdGFudHNcIixcclxuICAgIEdldERhdGFSZXF1ZXN0ID0gXCJnZXREYXRhUmVxdWVzdFwiLFxyXG4gICAgR2V0TWVtcG9vbCA9IFwiZ2V0TWVtcG9vbFwiLFxyXG4gICAgR2V0UGtoID0gXCJnZXRQa2hcIixcclxuICAgIEdldFB1YmxpY0tleSA9IFwiZ2V0UHVibGljS2V5XCIsXHJcbiAgICBHZXRTdXBlcmJsb2NrID0gXCJnZXRTdXBlcmJsb2NrXCIsXHJcbiAgICBHZXRTdXBwbHlJbmZvID0gXCJnZXRTdXBwbHlJbmZvMlwiLFxyXG4gICAgR2V0VHJhbnNhY3Rpb24gPSBcImdldFRyYW5zYWN0aW9uXCIsXHJcbiAgICBHZXRVdHhvSW5mbyA9IFwiZ2V0VXR4b0luZm9cIixcclxuICAgIEdldFZhbHVlVHJhbnNmZXIgPSBcImdldFZhbHVlVHJhbnNmZXJcIixcclxuICAgIEluaXRpYWxpemVQZWVycyA9IFwiaW5pdGlhbGl6ZVBlZXJzXCIsXHJcbiAgICBJbnZlbnRvcnkgPSBcImludmVudG9yeVwiLFxyXG4gICAgS25vd25QZWVycyA9IFwia25vd25QZWVyc1wiLFxyXG4gICAgTWFzdGVyS2V5RXhwb3J0ID0gXCJtYXN0ZXJLZXlFeHBvcnRcIixcclxuICAgIE5vZGVTdGF0cyA9IFwibm9kZVN0YXRzXCIsXHJcbiAgICBQZWVycyA9IFwicGVlcnNcIixcclxuICAgIFByaW9yaXR5ID0gXCJwcmlvcml0eVwiLFxyXG4gICAgUHJvdG9jb2wgPSBcInByb3RvY29sXCIsXHJcbiAgICBQcm92aWRlcnMgPSBcInByb3ZpZGVyc1wiLFxyXG4gICAgUXVlcnlTdGFraW5nUG93ZXJzID0gXCJxdWVyeVBvd2Vyc1wiLFxyXG4gICAgUXVlcnlTdGFrZXMgPSBcInF1ZXJ5U3Rha2VzXCIsXHJcbiAgICBSZXdpbmQgPSBcInJld2luZFwiLFxyXG4gICAgU2VhcmNoRGF0YVJlcXVlc3RzID0gXCJzZWFyY2hEYXRhUmVxdWVzdHNcIixcclxuICAgIFNpZ25hbGluZ0luZm8gPSBcInNpZ25hbGluZ0luZm9cIixcclxuICAgIFN5bmNTdGF0dXMgPSBcInN5bmNTdGF0dXNcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTmV0d29yayA9IFwibWFpbm5ldFwiIHwgXCJ0ZXN0bmV0XCIgXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtlcyA9IHtcclxuICAgIGZpbHRlcj86IHtcclxuICAgICAgICB2YWxpZGF0b3I/OiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG4gICAgICAgIHdpdGhkcmF3ZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG4gICAgfSxcclxuICAgIHBhcmFtcz86IFF1ZXJ5U3Rha2VzUGFyYW1zLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtlc1BhcmFtcyA9IHtcclxuICAgIGRpc3RpbmN0PzogYm9vbGVhbixcclxuICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgb2Zmc2V0PzogbnVtYmVyLFxyXG4gICAgb3JkZXI/OiBRdWVyeVN0YWtlc09yZGVyO1xyXG4gICAgc2luY2U/OiBudW1iZXIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2VzT3JkZXIgPSB7XHJcbiAgICBieTogU3Rha2VzT3JkZXJCeTtcclxuICAgIHJldmVyc2U/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTdGFrZXNPcmRlckJ5IHtcclxuICAgIENvaW5zID0gXCJjb2luc1wiLFxyXG4gICAgTm9uY2UgPSBcIm5vbmNlXCIsXHJcbiAgICBNaW5pbmcgPSBcIm1pbmluZ1wiLFxyXG4gICAgV2l0bmVzc2luZyA9IFwid2l0bmVzc2luZ1wiLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtpbmdQb3dlcnMgPSB7XHJcbiAgICBkaXN0aW5jdD86IGJvb2xlYW4sXHJcbiAgICBsaW1pdD86IG51bWJlcixcclxuICAgIG9mZnNldD86IG51bWJlcixcclxuICAgIG9yZGVyQnk/OiBTdGFraW5nQ2FwYWJpbGl0eSxcclxufVxyXG5cclxuLy8gU3RydWN0dXJlIHRoYXQgdGhlIGluY2x1ZGVzIHRoZSBjb25maXJtZWQgYW5kIHBlbmRpbmcgYmFsYW5jZSBvZiBhIG5vZGVcclxuZXhwb3J0IHR5cGUgQmFsYW5jZSA9IHtcclxuICAgIC8vVG90YWwgYW1vdW50IG9mIGEgbm9kZSdzIGZ1bmRzIGFmdGVyIGxhc3QgY29uZmlybWVkIHN1cGVyYmxvY2tcclxuICAgIGNvbmZpcm1lZD86IGJpZ2ludDtcclxuICAgIC8vVG90YWwgYW1vdW50IG9mIG5vZGUncyBmdW5kcyBhZnRlciBsYXN0IGJsb2NrXHJcbiAgICB0b3RhbDogYmlnaW50O1xyXG59O1xyXG5cclxuLy8gQmFsYW5jZSBzdHJ1Y3QgaW4gV2l0LzIgY29udGFpbmluZyBsb2NrZWQsIHVubG9ja2VkIGFuZCBzdGFrZWQgYmFsYW5jZSBcclxuZXhwb3J0IHR5cGUgQmFsYW5jZTIgPSB7XHJcbiAgICBsb2NrZWQ6IGJpZ2ludCxcclxuICAgIHN0YWtlZDogYmlnaW50LFxyXG4gICAgdW5sb2NrZWQ6IGJpZ2ludCxcclxufVxyXG5cclxuLy9TdHJ1Y3QgdGhhdCBjb3VudCB0aGUgcG9zaXRpdmVzIHZvdGVzIG9mIGEgV0lQXHJcbmV4cG9ydCB0eXBlIEJpdFZvdGVzQ291bnRlciA9IHtcclxuICAgIHZvdGVzOiB1MzI7XHJcbiAgICBwZXJpb2Q6IEVwb2NoO1xyXG4gICAgd2lwOiBzdHJpbmc7XHJcbiAgICBpbml0OiBFcG9jaDtcclxuICAgIGVuZDogRXBvY2g7XHJcbiAgICBiaXQ6IHVzaXplO1xyXG59O1xyXG5cclxuLy8gQmxvY2sgZGF0YSBzdHJ1Y3R1cmVcclxuZXhwb3J0IHR5cGUgQmxvY2sgPSB7XHJcbiAgICBibG9ja19oZWFkZXI6IEJsb2NrSGVhZGVyO1xyXG4gICAgYmxvY2tfc2lnOiBLZXllZFNpZ25hdHVyZTtcclxuICAgIGJsb2NrX3dlaWdodDogbnVtYmVyO1xyXG4gICAgY29uZmlybWVkOiBib29sZWFuO1xyXG4gICAgZHJfd2VpZ2h0OiBudW1iZXI7XHJcbiAgICAvLyB0eG5zOiBCbG9ja1RyYW5zYWN0aW9ucztcclxuICAgIHR4bnNfaGFzaGVzPzogQmxvY2tUcmFuc2FjdGlvbnNIYXNoZXM7XHJcbiAgICB2dF93ZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbi8vIEJsb2NrIG1pbmluZyBlbGlnaWJpbGl0eSBjbGFpbVxyXG5leHBvcnQgdHlwZSBCbG9ja0VsaWdpYmlsaXR5Q2xhaW0gPSB7XHJcbiAgICAvLyBBIFZlcmlmaWFibGUgUmFuZG9tIEZ1bmN0aW9uIHByb29mIG9mIHRoZSBlbGlnaWJpbGl0eSBmb3IgYSBnaXZlbiBlcG9jaCBhbmQgcHVibGljIGtleVxyXG4gICAgcHJvb2Y6IFZyZlByb29mO1xyXG59O1xyXG5cclxuLy8gQmxvY2sgaGVhZGVyIHN0cnVjdHVyZVxyXG5leHBvcnQgdHlwZSBCbG9ja0hlYWRlciA9IHtcclxuICAgIC8vIEEgY2hlY2twb2ludCBiZWFjb24gZm9yIHRoZSBlcG9jaCB0aGF0IHRoaXMgYmxvY2sgaXMgY2xvc2luZ1xyXG4gICAgYmVhY29uOiBDaGVja3BvaW50QmVhY29uO1xyXG4gICAgLy8gVGhlIEJuMjU2IHB1YmxpYyBrZXlcclxuICAgIGJuMjU2X3B1YmxpY19rZXk/OiBCbjI1NlB1YmxpY0tleTtcclxuICAgIC8vIDI1Ni1iaXQgaGFzaGVzIG9mIGFsbCBvZiB0aGUgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrLCBzbyBhcyB0byBwcm92ZSB0aGVpciBiZWxvbmdpbmcgYW5kIGludGVncml0eVxyXG4gICAgbWVya2xlX3Jvb3RzOiBCbG9ja01lcmtsZVJvb3RzO1xyXG4gICAgLy8gQSBtaW5lci1wcm92aWRlZCBwcm9vZiBvZiBsZWFkZXJzaGlwXHJcbiAgICBwcm9vZjogQmxvY2tFbGlnaWJpbGl0eUNsYWltO1xyXG4gICAgLy8gMzIgYml0cyBmb3IgYmluYXJ5IHNpZ25hbGluZyBuZXcgd2l0bmV0IHByb3RvY29sIGltcHJvdmVtZW50cy5cclxuICAgIC8vIFNlZSBbV0lQLTAwMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS93aXRuZXQvV0lQcy9ibG9iL21hc3Rlci93aXAtMDAxNC5tZCkgZm9yIG1vcmUgaW5mby5cclxuICAgIHNpZ25hbHM6IHUzMjsgICAgXHJcbn07XHJcblxyXG4vLyBCbG9jayBtZXJrbGUgdHJlZSByb290c1xyXG5leHBvcnQgdHlwZSBCbG9ja01lcmtsZVJvb3RzID0ge1xyXG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSBjb21taXQgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcbiAgICBjb21taXRfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgZGF0YSByZXF1ZXN0IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG4gICAgZHJfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxuICAgIC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIHRoZSBtaW50IHRyYW5zYWN0aW9uIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcbiAgICBtaW50X2hhc2g6IEhhc2g7XHJcbiAgICAvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIHJldmVhbCB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuICAgIHJldmVhbF9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xyXG4gICAgLy8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSB0YWxseSB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuICAgIHRhbGx5X2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XHJcbiAgICAvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG4gICAgdnRfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEJsb2NrVHJhbnNhY3Rpb25zSGFzaGVzID0ge1xyXG4gICAgY29tbWl0OiBBcnJheTxIYXNoPixcclxuICAgIGRhdGFfcmVxdWVzdDogQXJyYXk8SGFzaD4sXHJcbiAgICBtaW50OiBIYXNoLFxyXG4gICAgcmV2ZWFsOiBBcnJheTxIYXNoPixcclxuICAgIHRhbGx5OiBBcnJheTxIYXNoPixcclxuICAgIHZhbHVlX3RyYW5zZmVyOiBBcnJheTxIYXNoPlxyXG59XHJcblxyXG4vLyBCTjI1NiBwdWJsaWMga2V5XHJcbmV4cG9ydCB0eXBlIEJuMjU2UHVibGljS2V5ID0ge1xyXG4gICAgLy8gQ29tcHJlc3NlZCBmb3JtIG9mIGEgQk4yNTYgcHVibGljIGtleVxyXG4gICAgcHVibGljX2tleTogQXJyYXk8dTg+O1xyXG4gICAgLy8gQ2FjaGVkIHVuY29tcHJlc3NlZCBmb3JtXHJcbiAgICB1bmNvbXByZXNzZWQ6IEFycmF5PHU4PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENoZWNrcG9pbnRCZWFjb24gPSB7XHJcbiAgICAvLyBUaGUgc2VyaWFsIG51bWJlciBmb3IgYW4gZXBvY2hcclxuICAgIGNoZWNrcG9pbnQ6IEVwb2NoO1xyXG4gICAgLy8gVGhlIDI1Ni1iaXQgaGFzaCBvZiB0aGUgcHJldmlvdXMgYmxvY2sgaGVhZGVyXHJcbiAgICBoYXNoUHJldkJsb2NrOiBIYXNoO1xyXG59O1xyXG5cclxuLy8gUHJvdG9jb2wncyBjb25zZW5zdXMgY29uc3RhbnRzXHJcbmV4cG9ydCB0eXBlIENvbnNlbnN1c0NvbnN0YW50cyA9IHtcclxuXHJcbiAgICAvL0FuIGlkZW50aXR5IGlzIGNvbnNpZGVyZWQgYWN0aXZlIGlmIGl0IHBhcnRpY2lwYXRlZCBpbiB0aGUgd2l0bmVzc2luZyBwcm90b2NvbCBhdCBsZWFzdCBvbmNlIGluIHRoZSBsYXN0IGBhY3Rpdml0eV9wZXJpb2RgIGVwb2Noc1xyXG4gICAgYWN0aXZpdHlfcGVyaW9kOiB1MzI7XHJcbiAgXHJcbiAgICAvL0F1eGlsaWFyeSBib290c3RyYXAgYmxvY2sgaGFzaCB2YWx1ZVxyXG4gICAgYm9vdHN0cmFwX2hhc2g6IEhhc2g7XHJcblxyXG4gICAgLy9TdXBlcmJsb2NrIHNpZ25pbmcgY29tbWl0dGVlIGZvciB0aGUgZmlyc3Qgc3VwZXJibG9ja3NcclxuICAgIGJvb3RzdHJhcHBpbmdfY29tbWl0dGVlOiBBcnJheTxzdHJpbmc+O1xyXG5cclxuICAgIC8vVGltZXN0YW1wIGF0IGNoZWNrcG9pbnQgMCAodGhlIHN0YXJ0IG9mIGVwb2NoIDApXHJcbiAgICBjaGVja3BvaW50X3plcm9fdGltZXN0YW1wOiBpNjQ7XHJcbiAgXHJcbiAgICAvL1NlY29uZHMgYmV0d2VlbiB0aGUgc3RhcnQgb2YgYW4gZXBvY2ggYW5kIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBvbmVcclxuICAgIGNoZWNrcG9pbnRzX3BlcmlvZDogdTE2O1xyXG5cclxuICAgIC8vTWluaW11bSBpbnB1dCBhZ2Ugb2YgYW4gVVRYTyBmb3IgYmVpbmcgYSB2YWxpZCBjb2xsYXRlcmFsXHJcbiAgICBjb2xsYXRlcmFsX2FnZTogdTMyO1xyXG4gICAgXHJcbiAgICAvL01pbmltdW0gdmFsdWUgaW4gbmFub3dpdHMgZm9yIGEgY29sbGF0ZXJhbCB2YWx1ZVxyXG4gICAgY29sbGF0ZXJhbF9taW5pbXVtOiBiaWdpbnQ7XHJcblxyXG4gICAgLy9OdW1iZXIgb2YgZXBvY2hzIHdpdGggdGhlIG1pbmltdW0gZGlmZmljdWx0eSBhY3RpdmVcclxuICAgIC8vKFRoaXMgbnVtYmVyIHJlcHJlc2VudCB0aGUgbGFzdCBlcG9jaCB3aGVyZSB0aGUgbWluaW11bSBkaWZmaWN1bHR5IGlzIGFjdGl2ZSlcclxuICAgIGVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eTogdTMyO1xyXG5cclxuICAgIC8vRXh0cmEgcm91bmRzIGZvciBjb21taXRtZW50cyBhbmQgcmV2ZWFsc1xyXG4gICAgZXh0cmFfcm91bmRzOiB1MTY7XHJcblxyXG4gICAgLy9HZW5lc2lzIGJsb2NrIGhhc2ggdmFsdWVcclxuICAgIGdlbmVzaXNfaGFzaDogSGFzaDtcclxuXHJcbiAgICAvL0hhbHZpbmcgcGVyaW9kXHJcbiAgICBoYWx2aW5nX3BlcmlvZDogdTMyO1xyXG5cclxuICAgIC8vSW5pdGlhbCBibG9jayByZXdhcmRcclxuICAgIGluaXRpYWxfYmxvY2tfcmV3YXJkOiB1NjQ7XHJcblxyXG4gICAgLy9NYXhpbXVtIHdlaWdodCBhIGJsb2NrIGNhbiBoYXZlLCB0aGlzIGFmZmVjdHMgdGhlIG51bWJlciBvZlxyXG4gICAgLy90cmFuc2FjdGlvbnMgYSBibG9jayBjYW4gY29udGFpbjogdGhlcmUgd2lsbCBiZSBhcyBtYW55XHJcbiAgICAvL3RyYW5zYWN0aW9ucyBhcyB0aGUgc3VtIG9mIF90aGVpcl8gd2VpZ2h0cyBpcyBsZXNzIHRoYW4sIG9yXHJcbiAgICAvL2VxdWFsIHRvLCB0aGlzIG1heGltdW0gYmxvY2sgd2VpZ2h0IHBhcmFtZXRlci5cclxuICAgIC8vXHJcbiAgICAvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSBkYXRhIHJlcXVlc3RzIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcclxuICAgIG1heF9kcl93ZWlnaHQ6IHUzMjtcclxuICAgIC8vXHJcbiAgICAvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnMgaW4gb25lIGJsb2NrXHJcbiAgICBtYXhfdnRfd2VpZ2h0OiB1MzI7XHJcblxyXG4gICAgLy9NaW5pbXVtIGRpZmZpY3VsdHlcclxuICAgIG1pbmltdW1fZGlmZmljdWx0eTogdTMyO1xyXG5cclxuICAgIC8vQmFja3VwIGZhY3RvciBmb3IgbWluaW5nOiB2YWxpZCBWUkZzIHVuZGVyIHRoaXMgZmFjdG9yIHdpbGwgcmVzdWx0IGluIGJyb2FkY2FzdGluZyBhIGJsb2NrXHJcbiAgICBtaW5pbmdfYmFja3VwX2ZhY3RvcjogdTMyO1xyXG4gIFxyXG4gICAgLy9SZXBsaWNhdGlvbiBmYWN0b3IgZm9yIG1pbmluZzogdmFsaWQgVlJGcyB1bmRlciB0aGlzIGZhY3RvciB3aWxsIGhhdmUgcHJpb3JpdHlcclxuICAgIG1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3I6IHUzMjtcclxuXHJcbiAgICAvL1JlcHV0YXRpb24gd2lsbCBleHBpcmUgYWZ0ZXIgTiB3aXRuZXNzaW5nIGFjdHNcclxuICAgIHJlcHV0YXRpb25fZXhwaXJlX2FscGhhX2RpZmY6IHUzMjtcclxuICBcclxuICAgIC8vUmVwdXRhdGlvbiBpc3N1YW5jZVxyXG4gICAgcmVwdXRhdGlvbl9pc3N1YW5jZTogdTMyO1xyXG4gIFxyXG4gICAgLy9XaGVuIHRvIHN0b3AgaXNzdWluZyBuZXcgcmVwdXRhdGlvblxyXG4gICAgcmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wOiB1MzI7XHJcbiAgXHJcbiAgICAvL1BlbmFsaXphdGlvbiBmYWN0b3I6IGZyYWN0aW9uIG9mIHJlcHV0YXRpb24gbG9zdCBieSBsaWFycyBmb3Igb3V0IG9mIGNvbnNlbnN1cyBjbGFpbXNcclxuICAgIC8vIEZJWE1FKCMxNzIpOiBVc2UgZml4ZWQgcG9pbnQgYXJpdGhtZXRpY1xyXG4gICAgcmVwdXRhdGlvbl9wZW5hbGl6YXRpb25fZmFjdG9yOiBmNjQ7ICAgIFxyXG4gIFxyXG4gICAgLy9QZXJpb2QgYWZ0ZXIgd2hpY2ggdGhlIGNvbW1pdHRlZSBzaXplIHNob3VsZCBkZWNyZWFzZSAoaW4gc3VwZXJibG9jayBwZXJpb2RzKVxyXG4gICAgc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19wZXJpb2Q6IHUzMjtcclxuICBcclxuICAgIC8vU3RlcCBieSB3aGljaCB0aGUgY29tbWl0dGVlIHNob3VsZCBiZSByZWR1Y2VkIGFmdGVyIHN1cGVyYmxvY2tfYWdyZWVtZW50X2RlY3JlYXNpbmdfcGVyaW9kXHJcbiAgICBzdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXA6IHUzMjtcclxuXHJcbiAgICAvL0J1aWxkIGEgc3VwZXJibG9jayBldmVyeSBgc3VwZXJibG9ja19wZXJpb2RgIGVwb2Noc1xyXG4gICAgc3VwZXJibG9ja19wZXJpb2Q6IHUxNjtcclxuICBcclxuICAgIC8vU2l6ZSBvZiB0aGUgc3VwZXJibG9jayBzaWduaW5nIGNvbW1pdHRlZVxyXG4gICAgc3VwZXJibG9ja19zaWduaW5nX2NvbW1pdHRlZV9zaXplOiB1MzI7ICBcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UGF5bG9hZCA9IHtcclxuICAgIGRhdGFSZXF1ZXN0OiBSQURSZXF1ZXN0O1xyXG4gICAgd2l0bmVzc19yZXdhcmQ6IG51bWJlcjtcclxuICAgIHdpdG5lc3NlczogbnVtYmVyO1xyXG4gICAgY29tbWl0QW5kUmV2ZWFsRmVlOiBudW1iZXI7XHJcbiAgICBtaW5Db25zZW5zdXNQZXJjZW50YWdlOiBudW1iZXI7XHJcbiAgICBjb2xsYXRlcmFsOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFN0YXR1cyA9IFwiY2FuY2VsbGVkXCIgfCBcInBlbmRpbmdcIiB8IFwiY29tbWl0dGluZ1wiIHwgXCJyZXZlYWxpbmdcIiB8IFwic29sdmVkXCIgfCBcInJldmVydGVkXCI7XHJcblxyXG5leHBvcnQgdHlwZSBHZXREYXRhUmVxdWVzdE1vZGUgPSBcImZ1bGxcIiB8IFwiZXRoZXJlYWxcIlxyXG5cclxuLy8gTGlzdCBvZiBvdXRwdXRzIHJlbGF0ZWQgdG8gYSBkYXRhIHJlcXVlc3RcclxuZXhwb3J0IHR5cGUgR2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0ID0ge1xyXG4gICAgc3RhdHVzOiBEYXRhUmVxdWVzdFN0YXR1cyxcclxuICAgIHJlcG9ydDoge1xyXG4gICAgICAgIC8vIExpc3Qgb2YgY29tbWl0bWVudHMgdG8gcmVzb2x2ZSB0aGUgZGF0YSByZXF1ZXN0XHJcbiAgICAgICAgY29tbWl0czogUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb24+O1xyXG4gICAgICAgIC8vTGlzdCBvZiByZXZlYWxzIHRvIHRoZSBjb21taXRtZW50cyAoY29udGFpbnMgdGhlIGRhdGEgcmVxdWVzdCB3aXRuZXQgcmVzdWx0KVxyXG4gICAgICAgIHJldmVhbHM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uPjtcclxuICAgICAgICAvL1RhbGx5IG9mIGRhdGEgcmVxdWVzdCAoY29udGFpbnMgZmluYWwgcmVzdWx0KVxyXG4gICAgICAgIHRhbGx5PzogRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uO1xyXG4gICAgICAgIC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgRGF0YVJlcXVlc3RUcmFuc2FjdGlvblxyXG4gICAgICAgIGJsb2NrX2hhc2hfZHJfdHg/OiBIYXNoO1xyXG4gICAgICAgIC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgVGFsbHlUcmFuc2FjdGlvblxyXG4gICAgICAgIGJsb2NrX2hhc2hfdGFsbHlfdHg/OiBIYXNoO1xyXG4gICAgICAgIC8vQ3VycmVudCBjb21taXQgcm91bmRcclxuICAgICAgICBjdXJyZW50X2NvbW1pdF9yb3VuZDogdTE2O1xyXG4gICAgICAgIC8vQ3VycmVudCByZXZlYWwgcm91bmRcclxuICAgICAgICBjdXJyZW50X3JldmVhbF9yb3VuZDogdTE2O1xyXG4gICAgICAgIC8vQ3VycmVudCBzdGFnZSwgb3IgTm9uZSBpZiBmaW5pc2hlZFxyXG4gICAgICAgIGN1cnJlbnRfc3RhZ2U/OiBEYXRhUmVxdWVzdFN0YWdlO1xyXG4gICAgfVxyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCA9IHtcclxuICAgIGJsb2NrX2Vwb2NoPzogbnVtYmVyO1xyXG4gICAgYmxvY2tfaGFzaD86IEhhc2g7XHJcbiAgICBjb25maXJtYXRpb25zPzogbnVtYmVyO1xyXG4gICAgcXVlcnk/OiB7XHJcbiAgICAgICAgY29sbGF0ZXJhbDogYmlnaW50LFxyXG4gICAgICAgIGRyb19oYXNoOiBIYXNoLFxyXG4gICAgICAgIHJhZF9oYXNoOiBIYXNoLFxyXG4gICAgICAgIHdlaWdodDogbnVtYmVyLFxyXG4gICAgICAgIHdpdG5lc3NlczogbnVtYmVyLFxyXG4gICAgfSxcclxuICAgIHJlc3VsdD86IHtcclxuICAgICAgICBjYm9yX2J5dGVzOiBzdHJpbmcsXHJcbiAgICAgICAgY29uZmlybWF0aW9uczogbnVtYmVyLFxyXG4gICAgICAgIHRpbWVzdGFtcDogbnVtYmVyLFxyXG4gICAgfSxcclxuICAgIHN0YXR1czogRGF0YVJlcXVlc3RTdGF0dXMsXHJcbn1cclxuXHJcbi8vIERhdGEgcmVxdWVzdCBjdXJyZW50IHN0YWdlXHJcbmV4cG9ydCBlbnVtIERhdGFSZXF1ZXN0U3RhZ2Uge1xyXG4gICAgLy9FeHBlY3RpbmcgY29tbWl0bWVudHMgZm9yIGRhdGEgcmVxdWVzdFxyXG4gICAgQ09NTUlUID0gXCJDT01NSVRcIixcclxuICAgIC8vRXhwZWN0aW5nIHJldmVhbHMgdG8gcHJldmlvdXNseSBwdWJsaXNoZWQgY29tbWl0bWVudHNcclxuICAgIFJFVkVBTCA9IFwiUkVWRUFMXCIsXHJcbiAgICAvL0V4cGVjdGluZyB0YWxseSB0byBiZSBpbmNsdWRlZCBpbiBibG9ja1xyXG4gICAgVEFMTFkgPSBcIlRBTExZXCIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFByaW9yaXR5RXN0aW1hdGUgPSB7XHJcbiAgICBwcmlvcml0eTogZjY0O1xyXG4gICAgdGltZV90b19ibG9jazogdTY0O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQcmlvcml0aWVzID0ge1xyXG4gICAgZHJ0X3N0aW5reTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIGRydF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICBkcnRfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgZHJ0X2hpZ2g6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICBkcnRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHN0X3N0aW5reTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHN0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHN0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHN0X2hpZ2g6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICBzdF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdXRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdXRfbG93OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdXRfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdXRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHV0X29wdWxlbnQ6IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB2dHRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG4gICAgdnR0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHZ0dF9tZWRpdW06IFByaW9yaXR5RXN0aW1hdGU7XHJcbiAgICB2dHRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuICAgIHZ0dF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBLZXllZFNpZ25hdHVyZSA9IHtcclxuICAgIC8vIFNpZ25hdHVyZVxyXG4gICAgc2lnbmF0dXJlOiBTaWduYXR1cmU7XHJcbiAgICAvLyBQdWJsaWMga2V5XHJcbiAgICBwdWJsaWNfa2V5OiB7XHJcbiAgICAgICAgY29tcHJlc3NlZDogbnVtYmVyLFxyXG4gICAgICAgIGJ5dGVzOiBBcnJheTx1OD47XHJcbiAgICB9LFxyXG59O1xyXG5cclxuLy8gUmVzdWx0IG9mIEdldE1lbXBvb2wgbWVzc2FnZTogbGlzdCBvZiBwZW5kaW5nIHRyYW5zYWN0aW9ucyBjYXRlZ29yaXplZCBieSB0eXBlXHJcbmV4cG9ydCB0eXBlIE1lbXBvb2wgPSB7XHJcbiAgICAvLyBQZW5kaW5nIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9uc1xyXG4gICAgdmFsdWVfdHJhbnNmZXI6IEFycmF5PEhhc2g+O1xyXG4gICAgLy8gUGVuZGluZyBkYXRhIHJlcXVlc3QgdHJhbnNhY3Rpb25zXHJcbiAgICBkYXRhX3JlcXVlc3Q6IEFycmF5PEhhc2g+O1xyXG59O1xyXG5cclxuLy8gTmFtZWQgdHVwbGUgb2YgYChhZGRyZXNzLCB0eXBlKWBcclxuZXhwb3J0IHR5cGUgUGVlckFkZHIgPSB7XHJcbiAgICAvL1NvY2tldCBhZGRyZXNzIG9mIHRoZSBwZWVyXHJcbiAgICBhZGRyZXNzOiBzdHJpbmc7XHJcbiAgICAvLyBcImluYm91bmRcIiB8IFwib3V0Ym91bmRcIiB3aGVuIGFza2luZyBmb3IgY29ubmVjdGVkIHBlZXJzLCBvclxyXG4gICAgLy8gXCJuZXdcIiB8IFwidHJpZWRcIiB3aGVuIGFza2luZyBmb3IgYWxsIHRoZSBrbm93biBwZWVyc1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvdG9jb2xJbmZvID0ge1xyXG4gICAgYWxsX2NoZWNrcG9pbnRzX3BlcmlvZHM6IFJlY29yZDxzdHJpbmcsIHU4PixcclxuICAgIGFsbF92ZXJzaW9uczoge1xyXG4gICAgICAgIGVmdjogUmVjb3JkPHN0cmluZywgRXBvY2g+LFxyXG4gICAgICAgIHZmZTogUmVjb3JkPEVwb2NoLCBzdHJpbmc+LFxyXG4gICAgfSxcclxuICAgIGN1cnJlbnRfdmVyc2lvbjogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBSQURBZ2dyZWdhdGUgPSB7IGZpbHRlcnM6IEFycmF5PFJBREZpbHRlcj47IHJlZHVjZXI6IHUzMiB9O1xyXG5leHBvcnQgdHlwZSBSQURGaWx0ZXIgPSB7IG9wOiB1MzI7IGFyZ3M6IEFycmF5PHU4PiB9O1xyXG5leHBvcnQgdHlwZSBSQURSZXF1ZXN0ID0ge1xyXG4gICAgdGltZUxvY2s6IG51bWJlcjtcclxuICAgIHJldHJpZXZlOiBBcnJheTxSQURSZXRyaWV2ZT47XHJcbiAgICBhZ2dyZWdhdGU6IFJBREFnZ3JlZ2F0ZTtcclxuICAgIHRhbGx5OiBSQURUYWxseTtcclxufTtcclxuZXhwb3J0IHR5cGUgUkFEUmV0cmlldmUgPSB7IHR5cGU6IFJBRFR5cGU7IHVybDogc3RyaW5nOyBzY3JpcHQ6IEFycmF5PHU4PiB9O1xyXG5leHBvcnQgdHlwZSBSQURUYWxseSA9IHtcclxuICAgIGZpbHRlcnM6IEFycmF5PFJBREZpbHRlcj47XHJcbiAgICByZWR1Y2VyOiB1MzI7XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBSQURUeXBlIHtcclxuICAgIEh0dHBHZXQgPSBcIkhUVFAtR0VUXCIsXHJcbiAgICBIdHRwUG9zdCA9IFwiSFRUUC1QT1NUXCIsXHJcbiAgICBIdHRwSGVhZCA9IFwiSFRUUC1IRUFEXCIsXHJcbiAgICBSbmcgPSBcIlJOR1wiLFxyXG59XHJcblxyXG4vLyBFQ0RTQSAob3ZlciBzZWNwMjU2azEpIHNpZ25hdHVyZVxyXG5leHBvcnQgdHlwZSBTZWNwMjU2azFTaWduYXR1cmUgPSB7XHJcbiAgICAvLyBUaGUgc2lnbmF0dXJlIHNlcmlhbGl6ZWQgaW4gREVSXHJcbiAgICBkZXI6IEFycmF5PHU4PjtcclxufTtcclxuXHJcbi8vUmVzdWx0IG9mIEdldFNpZ25hbGluZ0luZm9cclxuZXhwb3J0IHR5cGUgU2lnbmFsaW5nSW5mbyA9IHtcclxuICAgIC8vTGlzdCBvZiBwcm90b2NvbCB1cGdyYWRlcyB0aGF0IGFyZSBhbHJlYWR5IGFjdGl2ZSwgYW5kIHRoZWlyIGFjdGl2YXRpb24gZXBvY2hcclxuICAgIGFjdGl2ZV91cGdyYWRlczogUmVjb3JkPHN0cmluZywgRXBvY2g+O1xyXG4gICAgLy9MaXN0IG9mIHByb3RvY29sIHVwZ3JhZGVzIHRoYXQgYXJlIGN1cnJlbnRseSBiZWluZyBwb2xsZWQgZm9yIGFjdGl2YXRpb24gc2lnbmFsaW5nXHJcbiAgICBwZW5kaW5nX3VwZ3JhZGVzOiBBcnJheTxCaXRWb3Rlc0NvdW50ZXI+O1xyXG4gICAgLy9MYXN0IGVwb2NoXHJcbiAgICBlcG9jaDogRXBvY2g7XHJcbiAgfTtcclxuXHJcbi8vIERpZ2l0YWwgc2lnbmF0dXJlcyBzdHJ1Y3R1cmUgKGJhc2VkIG9uIHN1cHBvcnRlZCBjcnlwdG9zeXN0ZW1zKVxyXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XHJcbiAgICAvLyBFQ0RTQSBvdmVyIHNlY3AyNTZrMVxyXG4gICAgU2VjcDI1NmsxOiBTZWNwMjU2azFTaWduYXR1cmU7XHJcbn1cclxuXHJcbi8vIFN0YXRlIG1hY2hpbmUgZm9yIHRoZSBzeW5jaHJvbml6YXRpb24gc3RhdHVzIG9mIGEgV2l0bmV0IG5vZGVcclxuZXhwb3J0IGVudW0gU3RhdGVNYWNoaW5lIHtcclxuICAgIC8vIEZpcnN0IHN0YXRlLCBDaGFpbk1hbmFnZXIgaXMgd2FpdGluZyBmb3IgcmVhY2hpbmcgIGNvbnNlbnN1cyBiZXR3ZWVuIGl0cyBwZWVyc1xyXG4gICAgV2FpdGluZ0NvbnNlbnN1cyA9IFwiV2FpdGluZ0NvbnNlbnN1c1wiLFxyXG4gICAgLy8gU2Vjb25kIHN0YXRlLCBDaGFpbk1hbmFnZXIgc3luY2hyb25pemF0aW9uIHByb2Nlc3NcclxuICAgIFN5bmNocm9uaXppbmcgPSBcIlN5bmNocm9uaXppbmcgXCIsXHJcbiAgICAvLyBUaGlyZCBzdGF0ZSwgYENoYWluTWFuYWdlcmAgaGFzIGFsbCB0aGUgYmxvY2tzIGluIHRoZSBjaGFpbiBhbmQgaXMgcmVhZHkgdG8gc3RhcnRcclxuICAgIC8vIGNvbnNvbGlkYXRpbmcgYmxvY2sgY2FuZGlkYXRlcyBpbiByZWFsIHRpbWUuXHJcbiAgICBBbG1vc3RTeW5jZWQgPSBcIkFsbW9zdFN5bmNlZFwiLFxyXG4gICAgLy8gRm91cnRoIHN0YXRlLCBgQ2hhaW5NYW5hZ2VyYCBjYW4gY29uc29saWRhdGUgYmxvY2sgY2FuZGlkYXRlcywgcHJvcG9zZSBpdHMgb3duXHJcbiAgICAvLyBjYW5kaWRhdGVzIChtaW5pbmcpIGFuZCBwYXJ0aWNpcGF0ZSBpbiByZXNvbHZpbmcgZGF0YSByZXF1ZXN0cyAod2l0bmVzc2luZykuXHJcbiAgICBTeW5jZWQgPSBcIlN5bmNlZFwiLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZUF1dGhvcml6YXRpb24gPSB7XHJcbiAgICB3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG4gICAgc2lnbmF0dXJlOiBLZXllZFNpZ25hdHVyZSxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3Rha2VEZWxlZ2F0ZSA9IHtcclxuICAgIGNvaW5zOiBiaWdpbnQsXHJcbiAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlRW50cnkgPSB7XHJcbiAgICBrZXk6IHtcclxuICAgICAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbiAgICAgICAgd2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZyxcclxuICAgIH0sXHJcbiAgICB2YWx1ZToge1xyXG4gICAgICAgIGNvaW5zOiBiaWdpbnQsXHJcbiAgICAgICAgZXBvY2hzOiBSZWNvcmQ8U3Rha2luZ0NhcGFiaWxpdHksIEVwb2NoPixcclxuICAgICAgICBub25jZTogdTY0LFxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZSA9IHtcclxuICAgIHRvdGFsOiBiaWdpbnQsXHJcbiAgICBkZWxlZ2F0ZXM6IEFycmF5PFN0YWtlRGVsZWdhdGU+LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTdGFraW5nQ2FwYWJpbGl0eSB7XHJcbiAgICBNaW5pbmcgPSBcIm1pbmluZ1wiLFxyXG4gICAgV2l0bmVzc2luZyA9IFwid2l0bmVzc2luZ1wiLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTdGFraW5nUG93ZXIgPSB7XHJcbiAgICBwb3dlcj86IHU2NCxcclxuICAgIHJhbmtpbmc/OiB1MzIsXHJcbiAgICB2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcbiAgICB3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG59XHJcblxyXG4vLyBTdXBlcmJsb2NrIGNvbnNvbGlkYXRpbmcgbWV0YWRhdGFcclxuLy9BcyBwZXIgY3VycmVudCBjb25zZW5zdXMgYWxnb3JpdGhtLCBcImNvbnNvbGlkYXRlZCBibG9ja3NcIiBpbXBsaWVzIHRoYXQgdGhlcmUgZXhpc3RzIGF0IGxlYXN0IG9uZVxyXG4vL3N1cGVyYmxvY2sgaW4gdGhlIGNoYWluIHRoYXQgYnVpbGRzIHVwb24gdGhlIHN1cGVyYmxvY2sgd2hlcmUgdGhvc2UgYmxvY2tzIHdlcmUgYW5jaG9yZWQuXHJcbmV4cG9ydCB0eXBlIFN1cGVyYmxvY2tSZXBvcnQgPSB7XHJcbiAgICAvL1RoZSBzdXBlcmJsb2NrIHRoYXQgd2UgYXJlIHNpZ25hbGluZyBhcyBjb25zb2xpZGF0ZWQuXHJcbiAgICBzdXBlcmJsb2NrOiB7XHJcbiAgICAgICAgLy9OdW1iZXIgb2Ygc2lnbmluZyBjb21taXR0ZWUgbWVtYmVycyxcclxuICAgICAgICBzaWduaW5nX2NvbW1pdHRlZV9sZW5ndGg6IHUzMjtcclxuICAgICAgICAvL01lcmtsZSByb290IG9mIHRoZSBBY3RpdmUgUmVwdXRhdGlvbiBTZXQgbWVtYmVycyBpbmNsdWRlZCBpbnRvIHRoZSBwcmV2aW91cyBTdXBlckJsb2NrXHJcbiAgICAgICAgYXJzX3Jvb3Q6IEhhc2g7XHJcbiAgICAgICAgLy9NZXJrbGUgcm9vdCBvZiB0aGUgZGF0YSByZXF1ZXN0cyBpbiB0aGUgYmxvY2tzIGNyZWF0ZWQgc2luY2UgdGhlIGxhc3QgU3VwZXJCbG9ja1xyXG4gICAgICAgIGRhdGFfcmVxdWVzdF9yb290OiBIYXNoO1xyXG4gICAgICAgIC8vU3VwZXJibG9jayBpbmRleCxcclxuICAgICAgICBpbmRleDogdTMyO1xyXG4gICAgICAgIC8vSGFzaCBvZiB0aGUgYmxvY2sgdGhhdCB0aGlzIFN1cGVyQmxvY2sgaXMgYXR0ZXN0aW5nIGFzIHRoZSBsYXRlc3QgYmxvY2sgaW4gdGhlIGJsb2NrIGNoYWluLFxyXG4gICAgICAgIGxhc3RfYmxvY2s6IEhhc2g7XHJcbiAgICAgICAgLy9IYXNoIG9mIHRoZSBibG9jayB0aGF0IHRoZSBwcmV2aW91cyBTdXBlckJsb2NrIHVzZWQgZm9yIGl0cyBvd24gYGxhc3RfYmxvY2tgIGZpZWxkLFxyXG4gICAgICAgIGxhc3RfYmxvY2tfaW5fcHJldmlvdXNfc3VwZXJibG9jazogSGFzaDtcclxuICAgICAgICAvL01lcmtsZSByb290IG9mIHRoZSB0YWxsaWVzIGluIHRoZSBibG9ja3MgY3JlYXRlZCBzaW5jZSB0aGUgbGFzdCBTdXBlckJsb2NrXHJcbiAgICAgICAgdGFsbHlfcm9vdDogSGFzaDtcclxuICAgIH0sXHJcbiAgICAvL1RoZSBoYXNoZXMgb2YgdGhlIGJsb2NrcyB0aGF0IHdlIGFyZSBzaWduYWxpbmcgYXMgY29uc29saWRhdGVkLlxyXG4gICAgY29uc29saWRhdGVkX2Jsb2NrX2hhc2hlczogQXJyYXk8SGFzaD47XHJcbn07XHJcbiAgXHJcblxyXG4vLyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdG90YWwgc3VwcGx5XHJcbmV4cG9ydCB0eXBlIFN1cHBseUluZm8gPSB7XHJcbiAgICAvL0N1cnJlbnQgZXBvY2hcclxuICAgIGVwb2NoOiB1MzI7XHJcbiAgICAvL0N1cnJlbnQgdGltZVxyXG4gICAgY3VycmVudF90aW1lOiB1NjQ7XHJcbiAgICAvL051bWJlciBvZiBibG9ja3MgbWludGVkXHJcbiAgICBibG9ja3NfbWludGVkOiB1MzI7XHJcbiAgICAvL1dJVCBtaW50ZWQgdGhyb3VnaCBibG9jayBjcmVhdGlvblxyXG4gICAgYmxvY2tzX21pbnRlZF9yZXdhcmQ6IHU2NDtcclxuICAgIC8vQW1vdW50IG9mIG5hbm93aXRzIHRoYXQgaGF2ZSBiZWVuIGJ1cm50IHNvIGZhclxyXG4gICAgYnVybnRfc3VwcGx5OiBiaWdpbnQ7XHJcbiAgICAvL0N1cnJlbnQgbG9ja2VkIHN1cHBseVxyXG4gICAgY3VycmVudF9sb2NrZWRfc3VwcGx5OiBiaWdpbnQ7XHJcbiAgICAvL0N1cnJlbnQgc3Rha2VkIHN1cHBseVxyXG4gICAgY3VycmVudF9zdGFrZWRfc3VwcGx5OiBiaWdpbnQ7XHJcbiAgICAvL0N1cnJlbnQgdW5sb2NrZWQgc3VwcGx5XHJcbiAgICBjdXJyZW50X3VubG9ja2VkX3N1cHBseTogYmlnaW50O1xyXG4gICAgLy9Jbml0aWFsIHN1cHBseVxyXG4gICAgaW5pdGlhbF9zdXBwbHk6IGJpZ2ludDtcclxuICAgIC8vV0lUIGN1cnJlbnRseSBsb2NrZWQgYXMgY29sbGF0ZXJhbCBieSBpbi1mbGlnaHQgZGF0YSByZXF1ZXN0c1xyXG4gICAgcmVxdWVzdHNfaW5fZmxpZ2h0X2NvbGxhdGVyYWw6IHU2NDtcclxuICB9O1xyXG5cclxuLy8gTm9kZSBzeW5jaHJvbml6YXRpb24gc3RhdHVzXHJcbmV4cG9ydCB0eXBlIFN5bmNTdGF0dXMgPSB7XHJcbiAgICAvLyBUaGUgaGFzaCBvZiB0aGUgdG9wIGNvbnNvbGlkYXRlZCBibG9jayBhbmQgdGhlIGVwb2NoIG9mIHRoYXQgYmxvY2tcclxuICAgIGNoYWluX2JlYWNvbjogQ2hlY2twb2ludEJlYWNvbjtcclxuICAgIC8vIFRoZSBjdXJyZW50IGVwb2NoLCBvciBOb25lIGlmIHRoZSBlcG9jaCAwIGlzIGluIHRoZSBmdXR1cmVcclxuICAgIGN1cnJlbnRfZXBvY2g/OiBFcG9jaDtcclxuICAgIC8vIE5vZGUgU3RhdGVcclxuICAgIG5vZGVfc3RhdGU6IFN0YXRlTWFjaGluZTtcclxufTtcclxuXHJcbi8vIEluZm9ybWF0aW9uIGFib3V0IG91ciBvd24gVVRYT3NcclxuZXhwb3J0IHR5cGUgVXR4b0luZm8gPSB7XHJcbiAgICAvL1ZlY3RvciBvZiBVdHhvUG9pbnRlcnMgd2l0aCB0aGVpciB2YWx1ZXMsIHRpbWVfbG9ja3MgYW5kIGlmIGl0IGlzIHJlYWR5IGZvciBjb2xsYXRlcmFsXHJcbiAgICB1dHhvczogQXJyYXk8VXR4b01ldGFkYXRhPjtcclxuICAgIC8vTWluaW11bSBjb2xsYXRlcmFsIGZyb20gY29uc2Vuc3VzIGNvbnN0YW50c1xyXG4gICAgY29sbGF0ZXJhbF9taW46IGJpZ2ludDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFV0eG9NZXRhZGF0YSA9IHtcclxuICAgIG91dHB1dF9wb2ludGVyOiBzdHJpbmc7XHJcbiAgICB0aW1lbG9jazogdTY0O1xyXG4gICAgdXR4b19tYXR1cmU/OiBib29sZWFuO1xyXG4gICAgdmFsdWU6IGJpZ2ludDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFZhbHVlVHJhbnNmZXJPdXRwdXQgPSB7XHJcbiAgICBwa2g6IEhhc2g7XHJcbiAgICB2YWx1ZTogYmlnaW50O1xyXG4gICAgdGltZV9sb2NrOiB1NjQ7XHJcbn07XHJcblxyXG4vLyBBIFZSRiBQcm9vZiBpcyBhIHVuaXF1ZSwgZGV0ZXJtaW5pc3RpYyB3YXkgdG8gc2lnbiBhIG1lc3NhZ2Ugd2l0aCBhIHB1YmxpYyBrZXkuXHJcbi8vIEl0IGlzIHVzZWQgdG8gcHJldmVudCBvbmUgaWRlbnRpdHkgZnJvbSBjcmVhdGluZyBtdWx0aXBsZSBkaWZmZXJlbnQgcHJvb2ZzIG9mIGVsaWdpYmlsaXR5LlxyXG5leHBvcnQgdHlwZSBWcmZQcm9vZiA9IHtcclxuICAgIHByb29mOiBVaW50OEFycmF5O1xyXG4gICAgcHVibGljX2tleTogVWludDhBcnJheTsgLy9QdWJsaWNLZXk7XHJcbn07XHJcblxyXG5cclxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8vIC0tLSBUcmFuc2FjdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUmVwb3J0ID0ge1xyXG4gICAgYmxvY2tFcG9jaDogRXBvY2gsXHJcbiAgICBibG9ja0hhc2g6IEhhc2gsXHJcbiAgICBibG9ja1RpbWVzdGFtcDogbnVtYmVyLFxyXG4gICAgY29uZmlybWF0aW9uczogbnVtYmVyLFxyXG4gICAgY29uZmlybWVkOiBib29sZWFuLFxyXG4gICAgdHJhbnNhY3Rpb246IHtcclxuICAgICAgICBSZXZlYWw/OiBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uLFxyXG4gICAgICAgIENvbW1pdD86IERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb24sXHJcbiAgICAgICAgVGFsbHk/OiBEYXRhUmVxdWVzdFRhbGx5VHJhbnNhY3Rpb24sXHJcbiAgICB9LFxyXG4gICAgd2VpZ2h0OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbiA9IHtcclxuICAgIGJvZHk6IERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb25Cb2R5O1xyXG4gICAgc2lnbmF0dXJlczogQXJyYXk8S2V5ZWRTaWduYXR1cmU+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbkJvZHkgPSB7XHJcbiAgICAvLyBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uIGhhc2hcclxuICAgIGRyX3BvaW50ZXI6IEhhc2g7XHJcbiAgICAvLyBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uIFNpZ25hdHVyZSBIYXNoXHJcbiAgICBjb21taXRtZW50OiBIYXNoO1xyXG4gICAgLy8gQ2hhbmdlIGZyb20gY29sbGF0ZXJhbC4gVGhlIG91dHB1dCBwa2ggbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgaW5wdXRzLFxyXG4gICAgLy8gYW5kIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBvdXRwdXRcclxuICAgIG91dHB1dHM6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+O1xyXG4gICAgLy8gQkxTIHB1YmxpYyBrZXkgKGN1cnZlIGJuMjU2KVxyXG4gICAgYm4yNTZfcHVibGljX2tleT86IEJuMjU2UHVibGljS2V5O1xyXG5cclxuICAgIGhhc2g6IEhhc2g7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uID0ge1xyXG4gICAgYm9keTogRGF0YVJlcXVlc3RSZXZlYWxUcmFuc2FjdGlvbkJvZHk7XHJcbiAgICBzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keSA9IHtcclxuICAgIC8vIElucHV0c1xyXG4gICAgZHJfcG9pbnRlcjogSGFzaDsgLy8gRFRUcmFuc2FjdGlvbiBoYXNoXHJcbiAgICAvLyBPdXRwdXRzXHJcbiAgICByZXZlYWw6IEFycmF5PHU4PjtcclxuICAgIHBraDogeyBoYXNoOiBVaW50OEFycmF5OyB9OyAvLyB3aGVyZSB0byByZWNlaXZlIHJld2FyZFxyXG4gICAgaGFzaDogSGFzaDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0VGFsbHlUcmFuc2FjdGlvbiA9IHtcclxuICAgIC8vIERhdGFSZXF1ZXN0VHJhbnNhY3Rpb24gaGFzaFxyXG4gICAgZHJfcG9pbnRlcjogSGFzaDtcclxuICAgIC8vIFRhbGx5IHJlc3VsdFxyXG4gICAgdGFsbHk6IFVpbnQ4QXJyYXk7XHJcbiAgICAvLyBXaXRuZXNzIHJld2FyZHNcclxuICAgIG91dHB1dHM6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+O1xyXG4gICAgLy8gQWRkcmVzc2VzIHRoYXQgYXJlIG91dCBvZiBjb25zZW5zdXMgKG5vbiByZXZlYWxlcnMgaW5jbHVkZWQpXHJcbiAgICBvdXRfb2ZfY29uc2Vuc3VzOiBBcnJheTx7IGhhc2g6IFVpbnQ4QXJyYXkgfT47XHJcbiAgICAvLyBBZGRyZXNzZXMgdGhhdCBjb21taXQgYSBSYWRvbkVycm9yIChvciBjb25zaWRlcmVkIGFzIGFuIEVycm9yIGR1ZSB0byBhIFJhZG9uRXJyb3IgY29uc2Vuc3VzKVxyXG4gICAgZXJyb3JfY29tbWl0dGVyczogQXJyYXk8eyBoYXNoOiBVaW50OEFycmF5IH0+OyAgXHJcbiAgICAvLyBUT0RPXHJcbiAgICAvLyBoYXNoOiBIYXNoO1xyXG59O1xyXG5cclxuLy8vIE5vZGUgc3RhdHNcclxuZXhwb3J0IHR5cGUgTm9kZVN0YXRzID0ge1xyXG4gICAgLy9OdW1iZXIgb2YgcHJvcG9zZWQgYmxvY2tzXHJcbiAgICBibG9ja19wcm9wb3NlZF9jb3VudDogdTMyO1xyXG4gICAgLy9OdW1iZXIgb2YgYmxvY2tzIGluY2x1ZGVkIGluIHRoZSBibG9jayBjaGFpblxyXG4gICAgYmxvY2tfbWluZWRfY291bnQ6IHUzMjtcclxuICAgIC8vTnVtYmVyIG9mIHRpbWVzIHdlIHdlcmUgZWxpZ2libGUgdG8gcGFydGljaXBhdGUgaW4gYSBEYXRhIFJlcXVlc3RcclxuICAgIGRyX2VsaWdpYmlsaXR5X2NvdW50OiB1MzI7XHJcbiAgICAvL051bWJlciBvZiBwcm9wb3NlZCBjb21taXRzXHJcbiAgICBjb21taXRzX3Byb3Bvc2VkX2NvdW50OiB1MzI7XHJcbiAgICAvL051bWJlciBvZiBjb21taXRzIGluY2x1ZGVkIGluIGEgZGF0YSByZXF1ZXN0XHJcbiAgICBjb21taXRzX2NvdW50OiB1MzI7XHJcbiAgICAvL0xhc3QgYmxvY2sgcHJvcG9zZWRcclxuICAgIGxhc3RfYmxvY2tfcHJvcG9zZWQ6IEhhc2g7XHJcbiAgICAvL051bWJlciBvZiBzbGFzaGVkIGNvbW1pdHNcclxuICAgIHNsYXNoZWRfY291bnQ6IHUzMjtcclxufTtcclxuIl19
@@ -1,7 +1,7 @@
1
1
  export { IJsonRpcNodeFarm } from "./rpc/nodes";
2
2
  export { IJsonRpcProvider } from "./rpc/provider";
3
3
  export { IReporter } from "./rpc/reporter";
4
- export { Balance2 as Balance, Block, BlockTransactionsHashes, Network, Priorities as NetworkPriorities, QueryStakesOrder, StakeEntry, StakesOrderBy, StakingCapability, SyncStatus, TransactionReport, UtxoMetadata, ValueTransferOutput, } from "./rpc/types";
4
+ export { Balance2 as Balance, Block, BlockTransactionsHashes, ConsensusConstants, Network, Priorities as NetworkPriorities, QueryStakesOrder, StakeEntry, StakesOrderBy, StakingCapability, SyncStatus, TransactionReport, UtxoMetadata, ValueTransferOutput, } from "./rpc/types";
5
5
  export type f64 = number;
6
6
  export type i32 = number;
7
7
  export type i64 = number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EACH,QAAQ,IAAI,OAAO,EACnB,KAAK,EACL,uBAAuB,EACvB,OAAO,EACP,UAAU,IAAI,iBAAiB,EAC/B,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,GACtB,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AACxB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC;AACxB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EACH,QAAQ,IAAI,OAAO,EACnB,KAAK,EACL,uBAAuB,EACvB,kBAAkB,EAClB,OAAO,EACP,UAAU,IAAI,iBAAiB,EAC/B,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,GACtB,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AACxB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC;AACxB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,KAAK,GAAG,GAAG,CAAC"}