@aws-cdk/aws-bedrock-agentcore-alpha 2.237.1-alpha.0 → 2.239.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.jsii +2128 -856
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +119 -1
  4. package/README.md +109 -47
  5. package/lib/gateway/gateway-base.d.ts +14 -7
  6. package/lib/gateway/gateway-base.js +13 -4
  7. package/lib/gateway/gateway.d.ts +66 -10
  8. package/lib/gateway/gateway.js +38 -3
  9. package/lib/gateway/inbound-auth/authorizer.d.ts +2 -2
  10. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  11. package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -1
  12. package/lib/gateway/inbound-auth/custom-claim.js +2 -2
  13. package/lib/gateway/interceptor.d.ts +3 -3
  14. package/lib/gateway/interceptor.js +2 -2
  15. package/lib/gateway/outbound-auth/api-key.d.ts +4 -2
  16. package/lib/gateway/outbound-auth/api-key.js +2 -2
  17. package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -5
  18. package/lib/gateway/outbound-auth/credential-provider.js +2 -2
  19. package/lib/gateway/outbound-auth/iam-role.d.ts +3 -2
  20. package/lib/gateway/outbound-auth/iam-role.js +1 -1
  21. package/lib/gateway/outbound-auth/oauth.d.ts +4 -2
  22. package/lib/gateway/outbound-auth/oauth.js +1 -1
  23. package/lib/gateway/protocol.d.ts +1 -1
  24. package/lib/gateway/protocol.js +3 -3
  25. package/lib/gateway/targets/schema/api-schema.d.ts +3 -3
  26. package/lib/gateway/targets/schema/api-schema.js +5 -5
  27. package/lib/gateway/targets/schema/base-schema.d.ts +2 -2
  28. package/lib/gateway/targets/schema/base-schema.js +1 -1
  29. package/lib/gateway/targets/schema/tool-schema.d.ts +3 -3
  30. package/lib/gateway/targets/schema/tool-schema.js +5 -5
  31. package/lib/gateway/targets/target-base.d.ts +13 -5
  32. package/lib/gateway/targets/target-base.js +13 -2
  33. package/lib/gateway/targets/target-configuration.d.ts +251 -5
  34. package/lib/gateway/targets/target-configuration.js +344 -8
  35. package/lib/gateway/targets/target.d.ts +59 -9
  36. package/lib/gateway/targets/target.js +46 -3
  37. package/lib/memory/memory-strategy.d.ts +6 -4
  38. package/lib/memory/memory-strategy.js +2 -3
  39. package/lib/memory/memory.d.ts +12 -5
  40. package/lib/memory/memory.js +13 -17
  41. package/lib/memory/strategies/managed-strategy.d.ts +5 -4
  42. package/lib/memory/strategies/managed-strategy.js +2 -2
  43. package/lib/memory/strategies/self-managed-strategy.d.ts +4 -4
  44. package/lib/memory/strategies/self-managed-strategy.js +2 -2
  45. package/lib/memory/validation-helpers.d.ts +1 -1
  46. package/lib/memory/validation-helpers.js +1 -1
  47. package/lib/network/network-configuration.d.ts +2 -2
  48. package/lib/network/network-configuration.js +5 -5
  49. package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -1
  50. package/lib/runtime/inbound-auth/custom-claim.js +2 -2
  51. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +3 -3
  52. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +2 -2
  53. package/lib/runtime/runtime-artifact.d.ts +27 -4
  54. package/lib/runtime/runtime-artifact.js +67 -2
  55. package/lib/runtime/runtime-base.d.ts +12 -5
  56. package/lib/runtime/runtime-base.js +15 -18
  57. package/lib/runtime/runtime-endpoint-base.d.ts +9 -3
  58. package/lib/runtime/runtime-endpoint-base.js +10 -14
  59. package/lib/runtime/runtime-endpoint.d.ts +3 -2
  60. package/lib/runtime/runtime-endpoint.js +2 -2
  61. package/lib/runtime/runtime.d.ts +7 -5
  62. package/lib/runtime/runtime.js +2 -2
  63. package/lib/runtime/types.d.ts +1 -1
  64. package/lib/runtime/types.js +1 -1
  65. package/lib/tools/browser.d.ts +12 -5
  66. package/lib/tools/browser.js +14 -5
  67. package/lib/tools/code-interpreter.d.ts +11 -4
  68. package/lib/tools/code-interpreter.js +14 -5
  69. package/package.json +12 -12
  70. package/rosetta/default.ts-fixture +1 -0
@@ -86,7 +86,7 @@ const DEFAULT_TOKEN_BASED_TRIGGER = 100;
86
86
  * Use AgentCore memory for event storage with custom triggers. Define memory processing logic in your own environment.
87
87
  */
88
88
  class SelfManagedMemoryStrategy {
89
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy", version: "2.237.1-alpha.0" };
89
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.SelfManagedMemoryStrategy", version: "2.239.0-alpha.0" };
90
90
  name;
91
91
  description;
92
92
  strategyType;
@@ -266,4 +266,4 @@ class SelfManagedMemoryStrategy {
266
266
  };
267
267
  }
268
268
  exports.SelfManagedMemoryStrategy = SelfManagedMemoryStrategy;
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBSTNDLHdEQUFvSjtBQUNwSiw4REFBd0c7QUFFeEc7OytFQUUrRTtBQUMvRTs7O0dBR0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUNsQzs7O0dBR0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztBQUN2Qzs7O0dBR0c7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQzs7O0dBR0c7QUFDSCxNQUFNLGtDQUFrQyxHQUFHLENBQUMsQ0FBQztBQUM3Qzs7O0dBR0c7QUFDSCxNQUFNLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQztBQUM5Qzs7O0dBR0c7QUFDSCxNQUFNLHNDQUFzQyxHQUFHLENBQUMsQ0FBQztBQUNqRDs7O0dBR0c7QUFDSCxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQztBQUN4Qzs7O0dBR0c7QUFDSCxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVEOzs7R0FHRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0FBNER4Qzs7R0FFRztBQUNILE1BQWEseUJBQXlCOztJQUNwQixJQUFJLENBQVM7SUFDYixXQUFXLENBQVU7SUFDckIsWUFBWSxDQUFxQjtJQUNqRDs7T0FFRztJQUNhLHVCQUF1QixDQUEwQjtJ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QUFJLENBQUMsc0NBQXNDLHNCQUFzQixRQUFRLHNCQUFzQixpQkFBaUIsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwSSxDQUFDO1FBQ0gsQ0FBQztRQUVELCtCQUErQjtRQUMvQixJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RELElBQUksaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLElBQUksaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztnQkFDbkksTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsdUJBQXVCLFFBQVEsdUJBQXVCLFNBQVMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDOztBQTFMSiw4REEyTEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYmVkcm9ja2FnZW50Y29yZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJTWVtb3J5U3RyYXRlZ3ksIE1lbW9yeVN0cmF0ZWd5Q29tbW9uUHJvcHMsIE1lbW9yeVN0cmF0ZWd5VHlwZSwgTUVNT1JZX05BTUVfTUlOX0xFTkdUSCwgTUVNT1JZX05BTUVfTUFYX0xFTkdUSCB9IGZyb20gJy4uL21lbW9yeS1zdHJhdGVneSc7XG5pbXBvcnQgeyB2YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoLCB0aHJvd0lmSW52YWxpZCwgdmFsaWRhdGVGaWVsZFBhdHRlcm4gfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlNUQU5UU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciB0aW1lLWJhc2VkIHRyaWdnZXIgaW4gc2Vjb25kc1xuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRJTUVfQkFTRURfVFJJR0dFUl9NSU4gPSAxMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyIGluIHNlY29uZHNcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUSU1FX0JBU0VEX1RSSUdHRVJfTUFYID0gMzAwMDtcbi8qKlxuICogTWluaW11bSB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRPS0VOX0JBU0VEX1RSSUdHRVJfTUlOID0gMTAwO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciB0b2tlbi1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgVE9LRU5fQkFTRURfVFJJR0dFUl9NQVggPSA1MDAwMDA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIG1lc3NhZ2UtYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IE1FU1NBR0VfQkFTRURfVFJJR0dFUl9NSU4gPSAxO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciBtZXNzYWdlLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUFYID0gNTA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IEhJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NSU4gPSAwO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUFYID0gNTA7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFID0gNDtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgREVGQVVMVF9NRVNTQUdFX0JBU0VEX1RSSUdHRVIgPSAxO1xuLyoqXG4gKiBEZWZhdWx0IHZhbHVlIGZvciB0aW1lLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX1RJTUVfQkFTRURfVFJJR0dFUiA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDEwKTtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfVE9LRU5fQkFTRURfVFJJR0dFUiA9IDEwMDtcblxuLyoqXG4gKiBUcmlnZ2VyIGNvbmRpdGlvbnMgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAqIFdoZW4gZmlyc3QgY29uZGl0aW9uIGlzIG1ldCwgYmF0Y2hlZCBwYXlsb2FkcyBhcmUgc2VudCB0byBzcGVjaWZpZWQgUzMgYnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJDb25kaXRpb25zIHtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIG1lbW9yeSBwcm9jZXNzaW5nIHdoZW4gc3BlY2lmaWVkIG51bWJlciBvZiBuZXcgbWVzc2FnZXMgaXMgcmVhY2hlZFxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlQmFzZWRUcmlnZ2VyPzogbnVtYmVyO1xuICAvKipcbiAgICogVHJpZ2dlcnMgbWVtb3J5IHByb2Nlc3Npbmcgd2hlbiB0aGUgc2Vzc2lvbiBoYXMgYmVlbiBpZGxlIGZvciB0aGUgc3BlY2lmaWVkIGR1cmF0aW9uLlxuICAgKiBWYWx1ZSBpbiBzZWNvbmRzLlxuICAgKiBAZGVmYXVsdCAtIDEwIHNlY29uZHNcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVCYXNlZFRyaWdnZXI/OiBjZGsuRHVyYXRpb247XG4gIC8qKlxuICAgKiBUcmlnZ2VycyBtZW1vcnkgcHJvY2Vzc2luZyB3aGVuIHRoZSB0b2tlbiBzaXplIHJlYWNoZXMgdGhlIHNwZWNpZmllZCB0aHJlc2hvbGQuXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5CYXNlZFRyaWdnZXI/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSW52b2NhdGlvbiBjb25maWd1cmF0aW9uIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2NhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogU05TIFRvcGljIENvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHRvcGljOiBzbnMuSVRvcGljO1xuICAvKipcbiAgICogUzMgTG9jYXRpb24gQ29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogTG9jYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciBhIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAqIGV4aXN0aW5nIGJ1aWx0LWluIGRlZmF1bHQgcHJvbXB0cy9tb2RlbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTWFuYWdlZFN0cmF0ZWd5UHJvcHMgZXh0ZW5kcyBNZW1vcnlTdHJhdGVneUNvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIGV2ZW50cyB0byBiZSBpbmNsdWRlZCB3aGVuIHByb2Nlc3NpbmcgbWVtb3J5LiBBIGxhcmdlciBoaXN0b3J5IHdpbmRvdyBwcm92aWRlcyBtb3JlIGNvbnRleHQgZnJvbSBwYXN0IGNvbnZlcnNhdGlvbnMuXG4gICAqIEBkZWZhdWx0IDRcbiAgICovXG4gIHJlYWRvbmx5IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEludm9jYXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKi9cbiAgcmVhZG9ubHkgaW52b2NhdGlvbkNvbmZpZ3VyYXRpb246IEludm9jYXRpb25Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVHJpZ2dlciBjb25kaXRpb25zIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ29uZGl0aW9ucz86IFRyaWdnZXJDb25kaXRpb25zO1xufVxuXG4vKipcbiAqIFVzZSBBZ2VudENvcmUgbWVtb3J5IGZvciBldmVudCBzdG9yYWdlIHdpdGggY3VzdG9tIHRyaWdnZXJzLiBEZWZpbmUgbWVtb3J5IHByb2Nlc3NpbmcgbG9naWMgaW4geW91ciBvd24gZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxmTWFuYWdlZE1lbW9yeVN0cmF0ZWd5IGltcGxlbWVudHMgSU1lbW9yeVN0cmF0ZWd5IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3lUeXBlOiBNZW1vcnlTdHJhdGVneVR5cGU7XG4gIC8qKlxuICAgKiBJbnZvY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnZvY2F0aW9uQ29uZmlndXJhdGlvbjogSW52b2NhdGlvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUcmlnZ2VyIGNvbmRpdGlvbnMgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyQ29uZGl0aW9uczogVHJpZ2dlckNvbmRpdGlvbnM7XG4gIC8qKlxuICAgKiBIaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihzdHJhdGVneVR5cGU6IE1lbW9yeVN0cmF0ZWd5VHlwZSwgcHJvcHM6IFNlbGZNYW5hZ2VkU3RyYXRlZ3lQcm9wcykge1xuICAgIHRoaXMubmFtZSA9IHByb3BzLm5hbWU7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IHByb3BzLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc3RyYXRlZ3lUeXBlID0gc3RyYXRlZ3lUeXBlO1xuICAgIHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24gPSBwcm9wcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbjtcbiAgICB0aGlzLnRyaWdnZXJDb25kaXRpb25zID0ge1xuICAgICAgbWVzc2FnZUJhc2VkVHJpZ2dlcjogcHJvcHMudHJpZ2dlckNvbmRpdGlvbnM/Lm1lc3NhZ2VCYXNlZFRyaWdnZXIgPz8gREVGQVVMVF9NRVNTQUdFX0JBU0VEX1RSSUdHRVIsXG4gICAgICB0aW1lQmFzZWRUcmlnZ2VyOiBwcm9wcy50cmlnZ2VyQ29uZGl0aW9ucz8udGltZUJhc2VkVHJpZ2dlciA/PyBERUZBVUxUX1RJTUVfQkFTRURfVFJJR0dFUixcbiAgICAgIHRva2VuQmFzZWRUcmlnZ2VyOiBwcm9wcy50cmlnZ2VyQ29uZGl0aW9ucz8udG9rZW5CYXNlZFRyaWdnZXIgPz8gREVGQVVMVF9UT0tFTl9CQVNFRF9UUklHR0VSLFxuICAgIH07XG4gICAgdGhpcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPSBwcm9wcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPz8gREVGQVVMVF9ISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBWYWxpZGF0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRocm93SWZJbnZhbGlkKHRoaXMuX3ZhbGlkYXRlTWVtb3J5U3RyYXRlZ3lOYW1lLCB0aGlzLm5hbWUpO1xuICAgIHRocm93SWZJbnZhbGlkKHRoaXMuX3ZhbGlkYXRlSGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplLCB0aGlzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSk7XG4gICAgdGhyb3dJZkludmFsaWQodGhpcy5fdmFsaWRhdGVUcmlnZ2VyQ29uZGl0aW9ucywgdGhpcy50cmlnZ2VyQ29uZGl0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCk6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuTWVtb3J5Lk1lbW9yeVN0cmF0ZWd5UHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21NZW1vcnlTdHJhdGVneToge1xuICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgICB0eXBlOiB0aGlzLnN0cmF0ZWd5VHlwZSxcbiAgICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHNlbGZNYW5hZ2VkQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiB0aGlzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSxcbiAgICAgICAgICAgIGludm9jYXRpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgIHRvcGljQXJuOiB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnRvcGljLnRvcGljQXJuLFxuICAgICAgICAgICAgICBwYXlsb2FkRGVsaXZlcnlCdWNrZXROYW1lOiB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyQ29uZGl0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZUJhc2VkVHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgICAgbWVzc2FnZUNvdW50OiB0aGlzLnRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpbWVCYXNlZFRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICAgIGlkbGVTZXNzaW9uVGltZW91dDogdGhpcy50cmlnZ2VyQ29uZGl0aW9ucy50aW1lQmFzZWRUcmlnZ2VyPy50b1NlY29uZHMoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdG9rZW5CYXNlZFRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICAgIHRva2VuQ291bnQ6IHRoaXMudHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBhcyBhbnk7IC8vIFR5cGUgYXNzZXJ0aW9uIHRvIHdvcmsgYXJvdW5kIENsb3VkRm9ybWF0aW9uIHR5cGUgbGltaXRhdGlvbnNcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgdGhlIG5lY2Vzc2FyeSBwZXJtaXNzaW9ucyB0byB0aGUgcm9sZVxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgLSBUaGUgZ3JhbnRlZSB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHwgdW5kZWZpbmVkIHtcbiAgICAvLyBubyBleGlzdGluZyBncmFudCBtZXRob2QgdGhhdCBwcm92aWRlcyBib3RoIHJlcXVpcmVkIHNucyBhY3Rpb25zXG4gICAgY29uc3QgZ3JhbnQxID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbJ3NuczpHZXRUb3BpY0F0dHJpYnV0ZXMnLCAnc25zOlB1Ymxpc2gnXSxcbiAgICAgIHJlc291cmNlQXJuczogW1xuICAgICAgICB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnRvcGljLnRvcGljQXJuLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGxldCBncmFudDI6IGlhbS5HcmFudCB8IHVuZGVmaW5lZDtcblxuICAgIC8vIHdlIGRvbid0IGhhdmUgdGhlIHNjb3BlIGhlcmUsIHNvIHdlIGFkZCBtYW51YWxseSB0aGUgcGVybWlzc2lvbnMgdG8gdGhlIHJvbGUgcG9saWN5XG4gICAgaWYgKHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24/LnMzTG9jYXRpb24pIHtcbiAgICAgIC8vIEdyYW50IFMzIHBlcm1pc3Npb25zIGZvciB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAgICBncmFudDIgPSBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3MzOkdldEJ1Y2tldExvY2F0aW9uJyxcbiAgICAgICAgICAnczM6UHV0T2JqZWN0JyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VBcm5zOiBbXG4gICAgICAgICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9YCxcbiAgICAgICAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OnMzOjo6JHt0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnMzTG9jYXRpb24uYnVja2V0TmFtZX0vKmAsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JhbnQxICYmIGdyYW50MiA/IGdyYW50MS5jb21iaW5lKGdyYW50MikgOiBncmFudDEgfHwgZ3JhbnQyO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFZBTElEQVRPUlNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIG1lbW9yeSBzdHJhdGVneSBuYW1lXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlTWVtb3J5U3RyYXRlZ3lOYW1lID0gKG5hbWU6IHN0cmluZywgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10gPT4ge1xuICAgIGxldCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoKHtcbiAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgZmllbGROYW1lOiAnTWVtb3J5IG5hbWUnLFxuICAgICAgbWluTGVuZ3RoOiBNRU1PUllfTkFNRV9NSU5fTEVOR1RILFxuICAgICAgbWF4TGVuZ3RoOiBNRU1PUllfTkFNRV9NQVhfTEVOR1RILFxuICAgIH0sIHNjb3BlKSk7XG5cbiAgICAvLyBDaGVjayBpZiBuYW1lIG1hdGNoZXMgdGhlIEFXUyBBUEkgcGF0dGVybjogW2EtekEtWl1bYS16QS1aMC05X117MCw0N31cbiAgICAvLyBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIGJ5IHVwIHRvIDQ3IGxldHRlcnMsIG51bWJlcnMsIG9yIHVuZGVyc2NvcmVzXG4gICAgY29uc3QgdmFsaWROYW1lUGF0dGVybiA9IC9eW2EtekEtWl1bYS16QS1aMC05X117MCw0N30kLztcbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihuYW1lLCAnTWVtb3J5IG5hbWUnLCB2YWxpZE5hbWVQYXR0ZXJuLCB1bmRlZmluZWQsIHNjb3BlKSk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICAgKiBAcGFyYW0gaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplIC0gVGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZSB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVIaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPSAoaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiBudW1iZXIpOiBzdHJpbmdbXSA9PiB7XG4gICAgbGV0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUlOXG4gICAgICAgIHx8IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSA+IEhJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NQVgpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBIaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgbXVzdCBiZSBiZXR3ZWVuICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01JTn0gYW5kICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01BWH0sIGdvdCAke2hpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHRyaWdnZXIgY29uZGl0aW9uc1xuICAgKiBAcGFyYW0gdHJpZ2dlckNvbmRpdGlvbnMgLSBUaGUgdHJpZ2dlciBjb25kaXRpb25zIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZVRyaWdnZXJDb25kaXRpb25zID0gKHRyaWdnZXJDb25kaXRpb25zOiBUcmlnZ2VyQ29uZGl0aW9ucyk6IHN0cmluZ1tdID0+IHtcbiAgICBsZXQgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gVmFsaWRhdGUgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUlOXG4gICAgICAgIHx8IHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPiBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUFYKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBNZXNzYWdlLWJhc2VkIHRyaWdnZXIgbXVzdCBiZSBiZXR3ZWVuICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWH0sIGdvdCAke3RyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGltZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2Vjb25kcyA9IHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIudG9TZWNvbmRzKCk7XG4gICAgICBpZiAoc2Vjb25kcyA8IFRJTUVfQkFTRURfVFJJR0dFUl9NSU4gfHwgc2Vjb25kcyA+IFRJTUVfQkFTRURfVFJJR0dFUl9NQVgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYFRpbWUtYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUlOfSBhbmQgJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUFYfSBzZWNvbmRzLCBnb3QgJHtzZWNvbmRzfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAgICBpZiAodHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyIDwgVE9LRU5fQkFTRURfVFJJR0dFUl9NSU4gfHwgdHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgPiBUT0tFTl9CQVNFRF9UUklHR0VSX01BWCkge1xuICAgICAgICBlcnJvcnMucHVzaChgVG9rZW4tYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUT0tFTl9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7VE9LRU5fQkFTRURfVFJJR0dFUl9NQVh9LCBnb3QgJHt0cmlnZ2VyQ29uZGl0aW9ucy50b2tlbkJhc2VkVHJpZ2dlcn1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xufVxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2VsZi1tYW5hZ2VkLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBSzNDLHdEQUFvRjtBQUNwRiw4REFBd0c7QUFFeEc7OytFQUUrRTtBQUMvRTs7O0dBR0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUNsQzs7O0dBR0c7QUFDSCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztBQUN2Qzs7O0dBR0c7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQzs7O0dBR0c7QUFDSCxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQzs7O0dBR0c7QUFDSCxNQUFNLGtDQUFrQyxHQUFHLENBQUMsQ0FBQztBQUM3Qzs7O0dBR0c7QUFDSCxNQUFNLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQztBQUM5Qzs7O0dBR0c7QUFDSCxNQUFNLHNDQUFzQyxHQUFHLENBQUMsQ0FBQztBQUNqRDs7O0dBR0c7QUFDSCxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQztBQUN4Qzs7O0dBR0c7QUFDSCxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVEOzs7R0FHRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFDO0FBNER4Qzs7R0FFRztBQUNILE1BQWEseUJBQXlCOztJQUNwQixJQUFJLENBQVM7SUFDYixXQUFXLENBQVU7SUFDckIsWUFBWSxDQUFxQjtJQUNqRDs7T0FFRztJQUNhLHVCQUF1QixDQUEwQjtJ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QUFJLENBQUMsc0NBQXNDLHNCQUFzQixRQUFRLHNCQUFzQixpQkFBaUIsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwSSxDQUFDO1FBQ0gsQ0FBQztRQUVELCtCQUErQjtRQUMvQixJQUFJLGlCQUFpQixDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RELElBQUksaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLElBQUksaUJBQWlCLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztnQkFDbkksTUFBTSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsdUJBQXVCLFFBQVEsdUJBQXVCLFNBQVMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1lBQzNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDOztBQTFMSiw4REEyTEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgKiBhcyBiZWRyb2NrYWdlbnRjb3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgTG9jYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHR5cGUgKiBhcyBzbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucyc7XG5pbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSU1lbW9yeVN0cmF0ZWd5LCBNZW1vcnlTdHJhdGVneUNvbW1vblByb3BzLCBNZW1vcnlTdHJhdGVneVR5cGUgfSBmcm9tICcuLi9tZW1vcnktc3RyYXRlZ3knO1xuaW1wb3J0IHsgTUVNT1JZX05BTUVfTUlOX0xFTkdUSCwgTUVNT1JZX05BTUVfTUFYX0xFTkdUSCB9IGZyb20gJy4uL21lbW9yeS1zdHJhdGVneSc7XG5pbXBvcnQgeyB2YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoLCB0aHJvd0lmSW52YWxpZCwgdmFsaWRhdGVGaWVsZFBhdHRlcm4gfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTlNUQU5UU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqXG4gKiBNaW5pbXVtIHZhbHVlIGZvciB0aW1lLWJhc2VkIHRyaWdnZXIgaW4gc2Vjb25kc1xuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRJTUVfQkFTRURfVFJJR0dFUl9NSU4gPSAxMDtcbi8qKlxuICogTWF4aW11bSB2YWx1ZSBmb3IgdGltZS1iYXNlZCB0cmlnZ2VyIGluIHNlY29uZHNcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBUSU1FX0JBU0VEX1RSSUdHRVJfTUFYID0gMzAwMDtcbi8qKlxuICogTWluaW11bSB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IFRPS0VOX0JBU0VEX1RSSUdHRVJfTUlOID0gMTAwO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciB0b2tlbi1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgVE9LRU5fQkFTRURfVFJJR0dFUl9NQVggPSA1MDAwMDA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIG1lc3NhZ2UtYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IE1FU1NBR0VfQkFTRURfVFJJR0dFUl9NSU4gPSAxO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciBtZXNzYWdlLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUFYID0gNTA7XG4vKipcbiAqIE1pbmltdW0gdmFsdWUgZm9yIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IEhJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NSU4gPSAwO1xuLyoqXG4gKiBNYXhpbXVtIHZhbHVlIGZvciBoaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemVcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUFYID0gNTA7XG4vKipcbiAqIERlZmF1bHQgdmFsdWUgZm9yIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfSElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFID0gNDtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gKiBAaW50ZXJuYWxcbiAqL1xuY29uc3QgREVGQVVMVF9NRVNTQUdFX0JBU0VEX1RSSUdHRVIgPSAxO1xuLyoqXG4gKiBEZWZhdWx0IHZhbHVlIGZvciB0aW1lLWJhc2VkIHRyaWdnZXJcbiAqIEBpbnRlcm5hbFxuICovXG5jb25zdCBERUZBVUxUX1RJTUVfQkFTRURfVFJJR0dFUiA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDEwKTtcbi8qKlxuICogRGVmYXVsdCB2YWx1ZSBmb3IgdG9rZW4tYmFzZWQgdHJpZ2dlclxuICogQGludGVybmFsXG4gKi9cbmNvbnN0IERFRkFVTFRfVE9LRU5fQkFTRURfVFJJR0dFUiA9IDEwMDtcblxuLyoqXG4gKiBUcmlnZ2VyIGNvbmRpdGlvbnMgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAqIFdoZW4gZmlyc3QgY29uZGl0aW9uIGlzIG1ldCwgYmF0Y2hlZCBwYXlsb2FkcyBhcmUgc2VudCB0byBzcGVjaWZpZWQgUzMgYnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJDb25kaXRpb25zIHtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIG1lbW9yeSBwcm9jZXNzaW5nIHdoZW4gc3BlY2lmaWVkIG51bWJlciBvZiBuZXcgbWVzc2FnZXMgaXMgcmVhY2hlZFxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlQmFzZWRUcmlnZ2VyPzogbnVtYmVyO1xuICAvKipcbiAgICogVHJpZ2dlcnMgbWVtb3J5IHByb2Nlc3Npbmcgd2hlbiB0aGUgc2Vzc2lvbiBoYXMgYmVlbiBpZGxlIGZvciB0aGUgc3BlY2lmaWVkIGR1cmF0aW9uLlxuICAgKiBWYWx1ZSBpbiBzZWNvbmRzLlxuICAgKiBAZGVmYXVsdCAtIDEwIHNlY29uZHNcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVCYXNlZFRyaWdnZXI/OiBjZGsuRHVyYXRpb247XG4gIC8qKlxuICAgKiBUcmlnZ2VycyBtZW1vcnkgcHJvY2Vzc2luZyB3aGVuIHRoZSB0b2tlbiBzaXplIHJlYWNoZXMgdGhlIHNwZWNpZmllZCB0aHJlc2hvbGQuXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5CYXNlZFRyaWdnZXI/OiBudW1iZXI7XG59XG5cbi8qKlxuICogSW52b2NhdGlvbiBjb25maWd1cmF0aW9uIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52b2NhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogU05TIFRvcGljIENvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHRvcGljOiBzbnMuSVRvcGljO1xuICAvKipcbiAgICogUzMgTG9jYXRpb24gQ29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogTG9jYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciBhIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAqIGV4aXN0aW5nIGJ1aWx0LWluIGRlZmF1bHQgcHJvbXB0cy9tb2RlbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxmTWFuYWdlZFN0cmF0ZWd5UHJvcHMgZXh0ZW5kcyBNZW1vcnlTdHJhdGVneUNvbW1vblByb3BzIHtcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIGV2ZW50cyB0byBiZSBpbmNsdWRlZCB3aGVuIHByb2Nlc3NpbmcgbWVtb3J5LiBBIGxhcmdlciBoaXN0b3J5IHdpbmRvdyBwcm92aWRlcyBtb3JlIGNvbnRleHQgZnJvbSBwYXN0IGNvbnZlcnNhdGlvbnMuXG4gICAqIEBkZWZhdWx0IDRcbiAgICovXG4gIHJlYWRvbmx5IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEludm9jYXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VsZiBtYW5hZ2VkIG1lbW9yeSBzdHJhdGVneVxuICAgKi9cbiAgcmVhZG9ubHkgaW52b2NhdGlvbkNvbmZpZ3VyYXRpb246IEludm9jYXRpb25Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVHJpZ2dlciBjb25kaXRpb25zIGZvciBzZWxmIG1hbmFnZWQgbWVtb3J5IHN0cmF0ZWd5XG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ29uZGl0aW9ucz86IFRyaWdnZXJDb25kaXRpb25zO1xufVxuXG4vKipcbiAqIFVzZSBBZ2VudENvcmUgbWVtb3J5IGZvciBldmVudCBzdG9yYWdlIHdpdGggY3VzdG9tIHRyaWdnZXJzLiBEZWZpbmUgbWVtb3J5IHByb2Nlc3NpbmcgbG9naWMgaW4geW91ciBvd24gZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxmTWFuYWdlZE1lbW9yeVN0cmF0ZWd5IGltcGxlbWVudHMgSU1lbW9yeVN0cmF0ZWd5IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3lUeXBlOiBNZW1vcnlTdHJhdGVneVR5cGU7XG4gIC8qKlxuICAgKiBJbnZvY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnZvY2F0aW9uQ29uZmlndXJhdGlvbjogSW52b2NhdGlvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUcmlnZ2VyIGNvbmRpdGlvbnMgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0cmlnZ2VyQ29uZGl0aW9uczogVHJpZ2dlckNvbmRpdGlvbnM7XG4gIC8qKlxuICAgKiBIaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgZm9yIHNlbGYgbWFuYWdlZCBtZW1vcnkgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihzdHJhdGVneVR5cGU6IE1lbW9yeVN0cmF0ZWd5VHlwZSwgcHJvcHM6IFNlbGZNYW5hZ2VkU3RyYXRlZ3lQcm9wcykge1xuICAgIHRoaXMubmFtZSA9IHByb3BzLm5hbWU7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IHByb3BzLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc3RyYXRlZ3lUeXBlID0gc3RyYXRlZ3lUeXBlO1xuICAgIHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24gPSBwcm9wcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbjtcbiAgICB0aGlzLnRyaWdnZXJDb25kaXRpb25zID0ge1xuICAgICAgbWVzc2FnZUJhc2VkVHJpZ2dlcjogcHJvcHMudHJpZ2dlckNvbmRpdGlvbnM/Lm1lc3NhZ2VCYXNlZFRyaWdnZXIgPz8gREVGQVVMVF9NRVNTQUdFX0JBU0VEX1RSSUdHRVIsXG4gICAgICB0aW1lQmFzZWRUcmlnZ2VyOiBwcm9wcy50cmlnZ2VyQ29uZGl0aW9ucz8udGltZUJhc2VkVHJpZ2dlciA/PyBERUZBVUxUX1RJTUVfQkFTRURfVFJJR0dFUixcbiAgICAgIHRva2VuQmFzZWRUcmlnZ2VyOiBwcm9wcy50cmlnZ2VyQ29uZGl0aW9ucz8udG9rZW5CYXNlZFRyaWdnZXIgPz8gREVGQVVMVF9UT0tFTl9CQVNFRF9UUklHR0VSLFxuICAgIH07XG4gICAgdGhpcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPSBwcm9wcy5oaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPz8gREVGQVVMVF9ISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBWYWxpZGF0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRocm93SWZJbnZhbGlkKHRoaXMuX3ZhbGlkYXRlTWVtb3J5U3RyYXRlZ3lOYW1lLCB0aGlzLm5hbWUpO1xuICAgIHRocm93SWZJbnZhbGlkKHRoaXMuX3ZhbGlkYXRlSGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplLCB0aGlzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSk7XG4gICAgdGhyb3dJZkludmFsaWQodGhpcy5fdmFsaWRhdGVUcmlnZ2VyQ29uZGl0aW9ucywgdGhpcy50cmlnZ2VyQ29uZGl0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCk6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuTWVtb3J5Lk1lbW9yeVN0cmF0ZWd5UHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21NZW1vcnlTdHJhdGVneToge1xuICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgICB0eXBlOiB0aGlzLnN0cmF0ZWd5VHlwZSxcbiAgICAgICAgY29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHNlbGZNYW5hZ2VkQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiB0aGlzLmhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSxcbiAgICAgICAgICAgIGludm9jYXRpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgIHRvcGljQXJuOiB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnRvcGljLnRvcGljQXJuLFxuICAgICAgICAgICAgICBwYXlsb2FkRGVsaXZlcnlCdWNrZXROYW1lOiB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyQ29uZGl0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZUJhc2VkVHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgICAgbWVzc2FnZUNvdW50OiB0aGlzLnRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpbWVCYXNlZFRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICAgIGlkbGVTZXNzaW9uVGltZW91dDogdGhpcy50cmlnZ2VyQ29uZGl0aW9ucy50aW1lQmFzZWRUcmlnZ2VyPy50b1NlY29uZHMoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdG9rZW5CYXNlZFRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICAgIHRva2VuQ291bnQ6IHRoaXMudHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBhcyBhbnk7IC8vIFR5cGUgYXNzZXJ0aW9uIHRvIHdvcmsgYXJvdW5kIENsb3VkRm9ybWF0aW9uIHR5cGUgbGltaXRhdGlvbnNcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgdGhlIG5lY2Vzc2FyeSBwZXJtaXNzaW9ucyB0byB0aGUgcm9sZVxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgLSBUaGUgZ3JhbnRlZSB0byBncmFudCBwZXJtaXNzaW9ucyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHwgdW5kZWZpbmVkIHtcbiAgICAvLyBubyBleGlzdGluZyBncmFudCBtZXRob2QgdGhhdCBwcm92aWRlcyBib3RoIHJlcXVpcmVkIHNucyBhY3Rpb25zXG4gICAgY29uc3QgZ3JhbnQxID0gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbJ3NuczpHZXRUb3BpY0F0dHJpYnV0ZXMnLCAnc25zOlB1Ymxpc2gnXSxcbiAgICAgIHJlc291cmNlQXJuczogW1xuICAgICAgICB0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnRvcGljLnRvcGljQXJuLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGxldCBncmFudDI6IGlhbS5HcmFudCB8IHVuZGVmaW5lZDtcblxuICAgIC8vIHdlIGRvbid0IGhhdmUgdGhlIHNjb3BlIGhlcmUsIHNvIHdlIGFkZCBtYW51YWxseSB0aGUgcGVybWlzc2lvbnMgdG8gdGhlIHJvbGUgcG9saWN5XG4gICAgaWYgKHRoaXMuaW52b2NhdGlvbkNvbmZpZ3VyYXRpb24/LnMzTG9jYXRpb24pIHtcbiAgICAgIC8vIEdyYW50IFMzIHBlcm1pc3Npb25zIGZvciB0aGUgc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAgICBncmFudDIgPSBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ3MzOkdldEJ1Y2tldExvY2F0aW9uJyxcbiAgICAgICAgICAnczM6UHV0T2JqZWN0JyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VBcm5zOiBbXG4gICAgICAgICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMzo6OiR7dGhpcy5pbnZvY2F0aW9uQ29uZmlndXJhdGlvbi5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9YCxcbiAgICAgICAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OnMzOjo6JHt0aGlzLmludm9jYXRpb25Db25maWd1cmF0aW9uLnMzTG9jYXRpb24uYnVja2V0TmFtZX0vKmAsXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JhbnQxICYmIGdyYW50MiA/IGdyYW50MS5jb21iaW5lKGdyYW50MikgOiBncmFudDEgfHwgZ3JhbnQyO1xuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFZBTElEQVRPUlNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIG1lbW9yeSBzdHJhdGVneSBuYW1lXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgdG8gdmFsaWRhdGVcbiAgICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlTWVtb3J5U3RyYXRlZ3lOYW1lID0gKG5hbWU6IHN0cmluZywgc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10gPT4ge1xuICAgIGxldCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoKHtcbiAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgZmllbGROYW1lOiAnTWVtb3J5IG5hbWUnLFxuICAgICAgbWluTGVuZ3RoOiBNRU1PUllfTkFNRV9NSU5fTEVOR1RILFxuICAgICAgbWF4TGVuZ3RoOiBNRU1PUllfTkFNRV9NQVhfTEVOR1RILFxuICAgIH0sIHNjb3BlKSk7XG5cbiAgICAvLyBDaGVjayBpZiBuYW1lIG1hdGNoZXMgdGhlIEFXUyBBUEkgcGF0dGVybjogW2EtekEtWl1bYS16QS1aMC05X117MCw0N31cbiAgICAvLyBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGZvbGxvd2VkIGJ5IHVwIHRvIDQ3IGxldHRlcnMsIG51bWJlcnMsIG9yIHVuZGVyc2NvcmVzXG4gICAgY29uc3QgdmFsaWROYW1lUGF0dGVybiA9IC9eW2EtekEtWl1bYS16QS1aMC05X117MCw0N30kLztcbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUZpZWxkUGF0dGVybihuYW1lLCAnTWVtb3J5IG5hbWUnLCB2YWxpZE5hbWVQYXR0ZXJuLCB1bmRlZmluZWQsIHNjb3BlKSk7XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZVxuICAgKiBAcGFyYW0gaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplIC0gVGhlIGhpc3RvcmljYWwgY29udGV4dCB3aW5kb3cgc2l6ZSB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVIaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPSAoaGlzdG9yaWNhbENvbnRleHRXaW5kb3dTaXplOiBudW1iZXIpOiBzdHJpbmdbXSA9PiB7XG4gICAgbGV0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChoaXN0b3JpY2FsQ29udGV4dFdpbmRvd1NpemUgPCBISVNUT1JJQ0FMX0NPTlRFWFRfV0lORE9XX1NJWkVfTUlOXG4gICAgICAgIHx8IGhpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZSA+IEhJU1RPUklDQUxfQ09OVEVYVF9XSU5ET1dfU0laRV9NQVgpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBIaXN0b3JpY2FsIGNvbnRleHQgd2luZG93IHNpemUgbXVzdCBiZSBiZXR3ZWVuICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01JTn0gYW5kICR7SElTVE9SSUNBTF9DT05URVhUX1dJTkRPV19TSVpFX01BWH0sIGdvdCAke2hpc3RvcmljYWxDb250ZXh0V2luZG93U2l6ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHRyaWdnZXIgY29uZGl0aW9uc1xuICAgKiBAcGFyYW0gdHJpZ2dlckNvbmRpdGlvbnMgLSBUaGUgdHJpZ2dlciBjb25kaXRpb25zIHRvIHZhbGlkYXRlXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZVRyaWdnZXJDb25kaXRpb25zID0gKHRyaWdnZXJDb25kaXRpb25zOiBUcmlnZ2VyQ29uZGl0aW9ucyk6IHN0cmluZ1tdID0+IHtcbiAgICBsZXQgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gVmFsaWRhdGUgbWVzc2FnZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPCBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUlOXG4gICAgICAgIHx8IHRyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXIgPiBNRVNTQUdFX0JBU0VEX1RSSUdHRVJfTUFYKSB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBNZXNzYWdlLWJhc2VkIHRyaWdnZXIgbXVzdCBiZSBiZXR3ZWVuICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7TUVTU0FHRV9CQVNFRF9UUklHR0VSX01BWH0sIGdvdCAke3RyaWdnZXJDb25kaXRpb25zLm1lc3NhZ2VCYXNlZFRyaWdnZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGltZS1iYXNlZCB0cmlnZ2VyXG4gICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2Vjb25kcyA9IHRyaWdnZXJDb25kaXRpb25zLnRpbWVCYXNlZFRyaWdnZXIudG9TZWNvbmRzKCk7XG4gICAgICBpZiAoc2Vjb25kcyA8IFRJTUVfQkFTRURfVFJJR0dFUl9NSU4gfHwgc2Vjb25kcyA+IFRJTUVfQkFTRURfVFJJR0dFUl9NQVgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goYFRpbWUtYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUlOfSBhbmQgJHtUSU1FX0JBU0VEX1RSSUdHRVJfTUFYfSBzZWNvbmRzLCBnb3QgJHtzZWNvbmRzfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHRva2VuLWJhc2VkIHRyaWdnZXJcbiAgICBpZiAodHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRyaWdnZXJDb25kaXRpb25zLnRva2VuQmFzZWRUcmlnZ2VyIDwgVE9LRU5fQkFTRURfVFJJR0dFUl9NSU4gfHwgdHJpZ2dlckNvbmRpdGlvbnMudG9rZW5CYXNlZFRyaWdnZXIgPiBUT0tFTl9CQVNFRF9UUklHR0VSX01BWCkge1xuICAgICAgICBlcnJvcnMucHVzaChgVG9rZW4tYmFzZWQgdHJpZ2dlciBtdXN0IGJlIGJldHdlZW4gJHtUT0tFTl9CQVNFRF9UUklHR0VSX01JTn0gYW5kICR7VE9LRU5fQkFTRURfVFJJR0dFUl9NQVh9LCBnb3QgJHt0cmlnZ2VyQ29uZGl0aW9ucy50b2tlbkJhc2VkVHJpZ2dlcn1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9O1xufVxuIl19
@@ -10,7 +10,7 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { IConstruct } from 'constructs';
13
+ import type { IConstruct } from 'constructs';
14
14
  interface IntervalValidation {
15
15
  fieldName: string;
16
16
  minLength: number;
@@ -86,4 +86,4 @@ function throwIfInvalid(validationFn, param, scope) {
86
86
  }
87
87
  return param;
88
88
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFxQkgsOERBMEJDO0FBV0Qsb0RBaUNDO0FBSUQsd0NBVUM7QUF2R0QsNkNBQW9DO0FBQ3BDLHdEQUF1RjtBQVl2Rjs7Ozs7R0FLRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLE1BQThCLEVBQUUsTUFBbUI7SUFDM0YsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLCtCQUErQjtJQUMvQixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUMsQ0FBQyw0Q0FBNEM7SUFDN0QsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBRTFDLGlEQUFpRDtJQUNqRCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FDVCxhQUFhLE1BQU0sQ0FBQyxTQUFTLE9BQU8sYUFBYSxzREFBc0QsTUFBTSxDQUFDLFNBQVMsYUFBYSxDQUNySSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQ1QsYUFBYSxNQUFNLENBQUMsU0FBUyxPQUFPLGFBQWEseUNBQXlDLE1BQU0sQ0FBQyxTQUFTLGFBQWEsQ0FDeEgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQWEsRUFDYixTQUFpQixFQUNqQixPQUFlLEVBQ2YsYUFBc0IsRUFDdEIsTUFBbUI7SUFFbkIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLCtCQUErQjtJQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixPQUFPLE1BQU0sQ0FBQyxDQUFDLDRDQUE0QztJQUM3RCxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLGNBQWM7UUFDZCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLFNBQVMsU0FBUyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sY0FBYyxHQUFHLGFBQWEsU0FBUyxnQkFBZ0IsS0FBSyx5Q0FBeUMsT0FBTyxFQUFFLENBQUM7WUFDckgsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBSUQsU0FBZ0IsY0FBYyxDQUFJLFlBQTZCLEVBQUUsS0FBUSxFQUFFLEtBQWtCO0lBQzNGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksd0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGdDQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2Vycm9ycyc7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbnRlcmZhY2UgSW50ZXJ2YWxWYWxpZGF0aW9uIHtcbiAgZmllbGROYW1lOiBzdHJpbmc7XG4gIG1pbkxlbmd0aDogbnVtYmVyO1xuICBtYXhMZW5ndGg6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFN0cmluZ0xlbmd0aFZhbGlkYXRpb24gZXh0ZW5kcyBJbnRlcnZhbFZhbGlkYXRpb24ge1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgbGVuZ3RoIG9mIGEgc3RyaW5nIGZpZWxkIGFnYWluc3QgbWluaW11bSBhbmQgbWF4aW11bSBjb25zdHJhaW50cy5cbiAqIEBwYXJhbSBwYXJhbXMgLSBWYWxpZGF0aW9uIHBhcmFtZXRlcnMgaW5jbHVkaW5nIHZhbHVlLCBmaWVsZE5hbWUsIG1pbkxlbmd0aCwgYW5kIG1heExlbmd0aFxuICogQHBhcmFtIHNjb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgZXJyb3IgcmVwb3J0aW5nIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVN0cmluZ0ZpZWxkTGVuZ3RoKHBhcmFtczogU3RyaW5nTGVuZ3RoVmFsaWRhdGlvbiwgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8vIEhhbmRsZSBudWxsL3VuZGVmaW5lZCB2YWx1ZXNcbiAgaWYgKHBhcmFtcy52YWx1ZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVycm9yczsgLy8gU2tpcCB2YWxpZGF0aW9uIGZvciBudWxsL3VuZGVmaW5lZCB2YWx1ZXNcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRMZW5ndGggPSBwYXJhbXMudmFsdWUubGVuZ3RoO1xuXG4gIC8vIEV2YWx1YXRlIG9ubHkgaWYgaXQgaXMgbm90IGFuIHVucmVzb2x2ZWQgVG9rZW5cbiAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocGFyYW1zLmZpZWxkTmFtZSkpIHtcbiAgICBpZiAocGFyYW1zLnZhbHVlLmxlbmd0aCA+IHBhcmFtcy5tYXhMZW5ndGgpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgVGhlIGZpZWxkICR7cGFyYW1zLmZpZWxkTmFtZX0gaXMgJHtjdXJyZW50TGVuZ3RofSBjaGFyYWN0ZXJzIGxvbmcgYnV0IG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICR7cGFyYW1zLm1heExlbmd0aH0gY2hhcmFjdGVyc2AsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMudmFsdWUubGVuZ3RoIDwgcGFyYW1zLm1pbkxlbmd0aCkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGBUaGUgZmllbGQgJHtwYXJhbXMuZmllbGROYW1lfSBpcyAke2N1cnJlbnRMZW5ndGh9IGNoYXJhY3RlcnMgbG9uZyBidXQgbXVzdCBiZSBhdCBsZWFzdCAke3BhcmFtcy5taW5MZW5ndGh9IGNoYXJhY3RlcnNgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyBhIHN0cmluZyBmaWVsZCBhZ2FpbnN0IGEgcmVnZXggcGF0dGVybi5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzdHJpbmcgdmFsdWUgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBmaWVsZE5hbWUgLSBOYW1lIG9mIHRoZSBmaWVsZCBiZWluZyB2YWxpZGF0ZWQgKGZvciBlcnJvciBtZXNzYWdlcylcbiAqIEBwYXJhbSBwYXR0ZXJuIC0gUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4gdG8gdGVzdCBhZ2FpbnN0XG4gKiBAcGFyYW0gY3VzdG9tTWVzc2FnZSAtIE9wdGlvbmFsIGN1c3RvbSBlcnJvciBtZXNzYWdlXG4gKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBlcnJvciByZXBvcnRpbmcgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRmllbGRQYXR0ZXJuKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZE5hbWU6IHN0cmluZyxcbiAgcGF0dGVybjogUmVnRXhwLFxuICBjdXN0b21NZXNzYWdlPzogc3RyaW5nLFxuICBfc2NvcGU/OiBJQ29uc3RydWN0LFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gSGFuZGxlIG51bGwvdW5kZWZpbmVkIHZhbHVlc1xuICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgIHJldHVybiBlcnJvcnM7IC8vIFNraXAgdmFsaWRhdGlvbiBmb3IgbnVsbC91bmRlZmluZWQgdmFsdWVzXG4gIH1cblxuICAvLyBFdmFsdWF0ZSBvbmx5IGlmIGl0IGlzIG5vdCBhbiB1bnJlc29sdmVkIFRva2VuXG4gIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlKSkge1xuICAgIC8vIFZlcmlmeSB0eXBlXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBFeHBlY3RlZCBzdHJpbmcgZm9yICR7ZmllbGROYW1lfSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSBzcGVjaWZpZWQgcmVnZXhcbiAgICBpZiAoIShwYXR0ZXJuIGluc3RhbmNlb2YgUmVnRXhwKSkge1xuICAgICAgZXJyb3JzLnB1c2goJ1BhdHRlcm4gbXVzdCBiZSBhIHZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbicpO1xuICAgIH1cblxuICAgIC8vIFBhdHRlcm4gdmFsaWRhdGlvblxuICAgIGlmICghcGF0dGVybi50ZXN0KHZhbHVlKSkge1xuICAgICAgY29uc3QgZGVmYXVsdE1lc3NhZ2UgPSBgVGhlIGZpZWxkICR7ZmllbGROYW1lfSB3aXRoIHZhbHVlIFwiJHt2YWx1ZX1cIiBkb2VzIG5vdCBtYXRjaCB0aGUgcmVxdWlyZWQgcGF0dGVybiAke3BhdHRlcm59YDtcbiAgICAgIGVycm9ycy5wdXNoKGN1c3RvbU1lc3NhZ2UgfHwgZGVmYXVsdE1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25GbjxUPiA9IChwYXJhbTogVCwgc2NvcGU/OiBJQ29uc3RydWN0KSA9PiBzdHJpbmdbXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93SWZJbnZhbGlkPFQ+KHZhbGlkYXRpb25GbjogVmFsaWRhdGlvbkZuPFQ+LCBwYXJhbTogVCwgc2NvcGU/OiBJQ29uc3RydWN0KTogVCB7XG4gIGNvbnN0IGVycm9ycyA9IHZhbGlkYXRpb25GbihwYXJhbSwgc2NvcGUpO1xuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICBpZiAoc2NvcGUpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJyb3JzLmpvaW4oJ1xcbicpLCBzY29wZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihlcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyYW07XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFxQkgsOERBMEJDO0FBV0Qsb0RBaUNDO0FBSUQsd0NBVUM7QUF2R0QsNkNBQW9DO0FBQ3BDLHdEQUF1RjtBQVl2Rjs7Ozs7R0FLRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLE1BQThCLEVBQUUsTUFBbUI7SUFDM0YsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLCtCQUErQjtJQUMvQixJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUMsQ0FBQyw0Q0FBNEM7SUFDN0QsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBRTFDLGlEQUFpRDtJQUNqRCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0MsTUFBTSxDQUFDLElBQUksQ0FDVCxhQUFhLE1BQU0sQ0FBQyxTQUFTLE9BQU8sYUFBYSxzREFBc0QsTUFBTSxDQUFDLFNBQVMsYUFBYSxDQUNySSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQ1QsYUFBYSxNQUFNLENBQUMsU0FBUyxPQUFPLGFBQWEseUNBQXlDLE1BQU0sQ0FBQyxTQUFTLGFBQWEsQ0FDeEgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQWEsRUFDYixTQUFpQixFQUNqQixPQUFlLEVBQ2YsYUFBc0IsRUFDdEIsTUFBbUI7SUFFbkIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLCtCQUErQjtJQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixPQUFPLE1BQU0sQ0FBQyxDQUFDLDRDQUE0QztJQUM3RCxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLGNBQWM7UUFDZCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLFNBQVMsU0FBUyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsQ0FBQyxPQUFPLFlBQVksTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sY0FBYyxHQUFHLGFBQWEsU0FBUyxnQkFBZ0IsS0FBSyx5Q0FBeUMsT0FBTyxFQUFFLENBQUM7WUFDckgsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBSUQsU0FBZ0IsY0FBYyxDQUFJLFlBQTZCLEVBQUUsS0FBUSxFQUFFLEtBQWtCO0lBQzNGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksd0JBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGdDQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmludGVyZmFjZSBJbnRlcnZhbFZhbGlkYXRpb24ge1xuICBmaWVsZE5hbWU6IHN0cmluZztcbiAgbWluTGVuZ3RoOiBudW1iZXI7XG4gIG1heExlbmd0aDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgU3RyaW5nTGVuZ3RoVmFsaWRhdGlvbiBleHRlbmRzIEludGVydmFsVmFsaWRhdGlvbiB7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBsZW5ndGggb2YgYSBzdHJpbmcgZmllbGQgYWdhaW5zdCBtaW5pbXVtIGFuZCBtYXhpbXVtIGNvbnN0cmFpbnRzLlxuICogQHBhcmFtIHBhcmFtcyAtIFZhbGlkYXRpb24gcGFyYW1ldGVycyBpbmNsdWRpbmcgdmFsdWUsIGZpZWxkTmFtZSwgbWluTGVuZ3RoLCBhbmQgbWF4TGVuZ3RoXG4gKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBlcnJvciByZXBvcnRpbmcgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU3RyaW5nRmllbGRMZW5ndGgocGFyYW1zOiBTdHJpbmdMZW5ndGhWYWxpZGF0aW9uLCBfc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgLy8gSGFuZGxlIG51bGwvdW5kZWZpbmVkIHZhbHVlc1xuICBpZiAocGFyYW1zLnZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzOyAvLyBTa2lwIHZhbGlkYXRpb24gZm9yIG51bGwvdW5kZWZpbmVkIHZhbHVlc1xuICB9XG5cbiAgY29uc3QgY3VycmVudExlbmd0aCA9IHBhcmFtcy52YWx1ZS5sZW5ndGg7XG5cbiAgLy8gRXZhbHVhdGUgb25seSBpZiBpdCBpcyBub3QgYW4gdW5yZXNvbHZlZCBUb2tlblxuICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChwYXJhbXMuZmllbGROYW1lKSkge1xuICAgIGlmIChwYXJhbXMudmFsdWUubGVuZ3RoID4gcGFyYW1zLm1heExlbmd0aCkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGBUaGUgZmllbGQgJHtwYXJhbXMuZmllbGROYW1lfSBpcyAke2N1cnJlbnRMZW5ndGh9IGNoYXJhY3RlcnMgbG9uZyBidXQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHtwYXJhbXMubWF4TGVuZ3RofSBjaGFyYWN0ZXJzYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy52YWx1ZS5sZW5ndGggPCBwYXJhbXMubWluTGVuZ3RoKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYFRoZSBmaWVsZCAke3BhcmFtcy5maWVsZE5hbWV9IGlzICR7Y3VycmVudExlbmd0aH0gY2hhcmFjdGVycyBsb25nIGJ1dCBtdXN0IGJlIGF0IGxlYXN0ICR7cGFyYW1zLm1pbkxlbmd0aH0gY2hhcmFjdGVyc2AsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIGEgc3RyaW5nIGZpZWxkIGFnYWluc3QgYSByZWdleCBwYXR0ZXJuLlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHN0cmluZyB2YWx1ZSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIGZpZWxkTmFtZSAtIE5hbWUgb2YgdGhlIGZpZWxkIGJlaW5nIHZhbGlkYXRlZCAoZm9yIGVycm9yIG1lc3NhZ2VzKVxuICogQHBhcmFtIHBhdHRlcm4gLSBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiB0byB0ZXN0IGFnYWluc3RcbiAqIEBwYXJhbSBjdXN0b21NZXNzYWdlIC0gT3B0aW9uYWwgY3VzdG9tIGVycm9yIG1lc3NhZ2VcbiAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVGaWVsZFBhdHRlcm4oXG4gIHZhbHVlOiBzdHJpbmcsXG4gIGZpZWxkTmFtZTogc3RyaW5nLFxuICBwYXR0ZXJuOiBSZWdFeHAsXG4gIGN1c3RvbU1lc3NhZ2U/OiBzdHJpbmcsXG4gIF9zY29wZT86IElDb25zdHJ1Y3QsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAvLyBIYW5kbGUgbnVsbC91bmRlZmluZWQgdmFsdWVzXG4gIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVycm9yczsgLy8gU2tpcCB2YWxpZGF0aW9uIGZvciBudWxsL3VuZGVmaW5lZCB2YWx1ZXNcbiAgfVxuXG4gIC8vIEV2YWx1YXRlIG9ubHkgaWYgaXQgaXMgbm90IGFuIHVucmVzb2x2ZWQgVG9rZW5cbiAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWUpKSB7XG4gICAgLy8gVmVyaWZ5IHR5cGVcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3JzLnB1c2goYEV4cGVjdGVkIHN0cmluZyBmb3IgJHtmaWVsZE5hbWV9LCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHNwZWNpZmllZCByZWdleFxuICAgIGlmICghKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHApKSB7XG4gICAgICBlcnJvcnMucHVzaCgnUGF0dGVybiBtdXN0IGJlIGEgdmFsaWQgcmVndWxhciBleHByZXNzaW9uJyk7XG4gICAgfVxuXG4gICAgLy8gUGF0dGVybiB2YWxpZGF0aW9uXG4gICAgaWYgKCFwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICBjb25zdCBkZWZhdWx0TWVzc2FnZSA9IGBUaGUgZmllbGQgJHtmaWVsZE5hbWV9IHdpdGggdmFsdWUgXCIke3ZhbHVlfVwiIGRvZXMgbm90IG1hdGNoIHRoZSByZXF1aXJlZCBwYXR0ZXJuICR7cGF0dGVybn1gO1xuICAgICAgZXJyb3JzLnB1c2goY3VzdG9tTWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkZuPFQ+ID0gKHBhcmFtOiBULCBzY29wZT86IElDb25zdHJ1Y3QpID0+IHN0cmluZ1tdO1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dJZkludmFsaWQ8VD4odmFsaWRhdGlvbkZuOiBWYWxpZGF0aW9uRm48VD4sIHBhcmFtOiBULCBzY29wZT86IElDb25zdHJ1Y3QpOiBUIHtcbiAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGlvbkZuKHBhcmFtLCBzY29wZSk7XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGlmIChzY29wZSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJvcnMuam9pbignXFxuJyksIHNjb3BlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGVycm9ycy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJhbTtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { CfnBrowserCustom, CfnCodeInterpreterCustom, CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
1
+ import type { CfnBrowserCustom, CfnCodeInterpreterCustom, CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
2
2
  import * as ec2 from 'aws-cdk-lib/aws-ec2';
3
- import { Construct } from 'constructs';
3
+ import type { Construct } from 'constructs';
4
4
  /**
5
5
  * VPC configuration properties.
6
6
  * Only used when network mode is VPC.
@@ -8,7 +8,7 @@ const ec2 = require("aws-cdk-lib/aws-ec2");
8
8
  * Abstract base class for network configuration.
9
9
  */
10
10
  class NetworkConfiguration {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NetworkConfiguration", version: "2.237.1-alpha.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NetworkConfiguration", version: "2.239.0-alpha.0" };
12
12
  /**
13
13
  * The network mode to use.
14
14
  * Configure the security level for agent
@@ -87,7 +87,7 @@ exports.NetworkConfiguration = NetworkConfiguration;
87
87
  * Network configuration for the Browser tool.
88
88
  */
89
89
  class BrowserNetworkConfiguration extends NetworkConfiguration {
90
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserNetworkConfiguration", version: "2.237.1-alpha.0" };
90
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BrowserNetworkConfiguration", version: "2.239.0-alpha.0" };
91
91
  /**
92
92
  * Creates a public network configuration. PUBLIC is the default network mode.
93
93
  * @returns A BrowserNetworkConfiguration.
@@ -133,7 +133,7 @@ exports.BrowserNetworkConfiguration = BrowserNetworkConfiguration;
133
133
  * Network configuration for the Code Interpreter tool.
134
134
  */
135
135
  class CodeInterpreterNetworkConfiguration extends NetworkConfiguration {
136
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterNetworkConfiguration", version: "2.237.1-alpha.0" };
136
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CodeInterpreterNetworkConfiguration", version: "2.239.0-alpha.0" };
137
137
  /**
138
138
  * Creates a public network configuration.
139
139
  * @returns A CodeInterpreterNetworkConfiguration.
@@ -187,7 +187,7 @@ exports.CodeInterpreterNetworkConfiguration = CodeInterpreterNetworkConfiguratio
187
187
  * Network configuration for the Runtime.
188
188
  */
189
189
  class RuntimeNetworkConfiguration extends NetworkConfiguration {
190
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeNetworkConfiguration", version: "2.237.1-alpha.0" };
190
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeNetworkConfiguration", version: "2.239.0-alpha.0" };
191
191
  /**
192
192
  * Creates a public network configuration. PUBLIC is the default network mode.
193
193
  * @returns A RuntimeNetworkConfiguration.
@@ -230,4 +230,4 @@ class RuntimeNetworkConfiguration extends NetworkConfiguration {
230
230
  }
231
231
  }
232
232
  exports.RuntimeNetworkConfiguration = RuntimeNetworkConfiguration;
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmV0d29yay1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsMkNBQTJDO0FBOEQzQzs7R0FFRztBQUNILE1BQXNCLG9CQUFvQjs7SUFDeEM7Ozs7T0FJRztJQUNNLFdBQVcsQ0FBUztJQUM3Qjs7T0FFRztJQUNNLFdBQVcsQ0FBOEI7SUFDbEQ7O09BRUc7SUFDTSxLQUFLLENBQXlCO0lBQ3ZDOztPQUVHO0lBQ00sVUFBVSxDQUF1QjtJQUMxQzs7O09BR0c7SUFDSCxZQUF1QixJQUFZLEVBQUUsS0FBaUIsRUFBRSxTQUEwQjs7Ozs7OytDQXZCOUQsb0JBQW9COzs7O1FBd0J0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUV4QixnREFBZ0Q7UUFDaEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsRUFBRSxVQUFVLENBQUM7S0FDN0M7SUFFRDs7T0FFRztJQUNLLDhCQUE4QixHQUFHLENBQUMsU0FBMEIsRUFBNkIsRUFBRTtRQUNqRyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsSUFBSSxTQUFTLEVBQUUsZ0JBQWdCLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEcsTUFBTSxJQUFJLEtBQUssQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsU0FB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QUFJLENBQUMsV0FBVyxJQUFJLEtBQUssSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN2RSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO2FBQ3RGLENBQUEsQ0FBQyxDQUFDLFNBQVM7U0FDYixDQUFDO0tBQ0g7O0FBakNILGtFQWtDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBjZGtsYWJzL25vLXRocm93LWRlZmF1bHQtZXJyb3IgKi9cbmltcG9ydCB7IENmbkJyb3dzZXJDdXN0b20sIENmbkNvZGVJbnRlcnByZXRlckN1c3RvbSwgQ2ZuUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbi8vIEludGVybmFsIExpYnNcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFZQQyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMuXG4gKiBPbmx5IHVzZWQgd2hlbiBuZXR3b3JrIG1vZGUgaXMgVlBDLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZ1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBWUEMgdG8gZGVwbG95IHRoZSByZXNvdXJjZSB0by5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG4gIC8qKlxuICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgbmV0d29yayBpbnRlcmZhY2VzIHdpdGhpbiB0aGUgVlBDLlxuICAgKlxuICAgKiBUaGlzIHJlcXVpcmVzIGB2cGNgIHRvIGJlIHNwZWNpZmllZCBpbiBvcmRlciBmb3IgaW50ZXJmYWNlcyB0byBhY3R1YWxseSBiZVxuICAgKiBwbGFjZWQgaW4gdGhlIHN1Ym5ldHMuIElmIGB2cGNgIGlzIG5vdCBzcGVjaWZ5LCB0aGlzIHdpbGwgcmFpc2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VjdXJpdHkgZ3JvdXBzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSByZXNvdXJjZSdzIG5ldHdvcmsgaW50ZXJmYWNlcy5cbiAgICpcbiAgICogT25seSB1c2VkIGlmICd2cGMnIGlzIHN1cHBsaWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElmIHRoZSByZXNvdXJjZSBpcyBwbGFjZWQgd2l0aGluIGEgVlBDIGFuZCBhIHNlY3VyaXR5IGdyb3VwIGlzXG4gICAqIG5vdCBzcGVjaWZpZWQgYnkgdGhpcyBwcm9wLCBhIGRlZGljYXRlZCBzZWN1cml0eVxuICAgKiBncm91cCB3aWxsIGJlIGNyZWF0ZWQgZm9yIHRoaXMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyB0aGUgcmVzb3VyY2UgdG8gc2VuZCBhbGwgbmV0d29yayB0cmFmZmljIChleGNlcHQgaXB2NilcbiAgICpcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB5b3UgbXVzdCBpbmRpdmlkdWFsbHkgYWRkIHRyYWZmaWMgcnVsZXMgdG8gYWxsb3cgdGhlXG4gICAqIHJlc291cmNlIHRvIGNvbm5lY3QgdG8gbmV0d29yayB0YXJnZXRzLlxuICAgKlxuICAgKiBEbyBub3Qgc3BlY2lmeSB0aGlzIHByb3BlcnR5IGlmIHRoZSBgc2VjdXJpdHlHcm91cHNgIHByb3BlcnR5IGlzIHNldC5cbiAgICogSW5zdGVhZCwgY29uZmlndXJlIGBhbGxvd0FsbE91dGJvdW5kYCBkaXJlY3RseSBvbiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFZQQyBjb25maWd1cmF0aW9uLlxuICogT25seSB1c2VkIHdoZW4gbmV0d29yayBtb2RlIGlzIFZQQy5cbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgTmV0d29ya0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbnMgdG8gdGhlIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uczogZWMyLkNvbm5lY3Rpb25zIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIFZQQyBzdWJuZXRzIHRvIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM6IGVjMi5TZWxlY3RlZFN1Ym5ldHMgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgbmV0d29yayBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIG5ldHdvcmsgbW9kZSB0byB1c2UuXG4gICAqIENvbmZpZ3VyZSB0aGUgc2VjdXJpdHkgbGV2ZWwgZm9yIGFnZW50XG4gICAqIGV4ZWN1dGlvbiB0byBjb250cm9sIGFjY2VzcywgaXNvbGF0ZSByZXNvdXJjZXMsIGFuZCBwcm90ZWN0IHNlbnNpdGl2ZSBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya01vZGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0aW9ucyBvYmplY3QgdG8gdGhlIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uczogZWMyLkNvbm5lY3Rpb25zIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVzb3VyY2UgaW4uXG4gICAqL1xuICByZWFkb25seSBzY29wZT86IENvbnN0cnVjdCB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBWUEMgc3VibmV0cyB0byB1c2UuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbmV0d29yayBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gbW9kZSAtIHRoZSBuZXR3b3JrIG1vZGUgdG8gdXNlIGZvciB0aGUgdG9vbC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvciAobW9kZTogc3RyaW5nLCBzY29wZT86IENvbnN0cnVjdCwgdnBjQ29uZmlnPzogVnBjQ29uZmlnUHJvcHMpIHtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5uZXR3b3JrTW9kZSA9IG1vZGU7XG5cbiAgICAvLyBWYWxpZGF0ZSB2cGMgY29uZmlnIGFuZCBjb25maWd1cmUgY29ubmVjdGlvbnNcbiAgICBjb25zdCBuZXR3b3JrQ29uZmlnID0gdGhpcy5fdmFsaWRhdGVBbmRDb25maWd1cmVWcGNDb25maWcodnBjQ29uZmlnKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gbmV0d29ya0NvbmZpZz8uY29ubmVjdGlvbnM7XG4gICAgdGhpcy52cGNTdWJuZXRzID0gbmV0d29ya0NvbmZpZz8udnBjU3VibmV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHZwYyBjb25maWcuXG4gICAqL1xuICBwcml2YXRlIF92YWxpZGF0ZUFuZENvbmZpZ3VyZVZwY0NvbmZpZyA9ICh2cGNDb25maWc/OiBWcGNDb25maWdQcm9wcyk6IE5ldHdvcmtDb25maWcgfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmICgodnBjQ29uZmlnPy5zZWN1cml0eUdyb3VwcyB8fCB2cGNDb25maWc/LmFsbG93QWxsT3V0Ym91bmQgIT09IHVuZGVmaW5lZCkgJiYgIXZwY0NvbmZpZz8udnBjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb25maWd1cmUgXFwnc2VjdXJpdHlHcm91cHNcXCcgb3IgXFwnYWxsb3dBbGxPdXRib3VuZFxcJyB3aXRob3V0IGNvbmZpZ3VyaW5nIGEgVlBDJyk7XG4gICAgfVxuXG4gICAgaWYgKCF2cGNDb25maWc/LnZwYykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoKHZwY0NvbmZpZz8uc2VjdXJpdHlHcm91cHMgJiYgdnBjQ29uZmlnPy5zZWN1cml0eUdyb3Vwcy5sZW5ndGggPiAwKSAmJiB2cGNDb25maWc/LmFsbG93QWxsT3V0Ym91bmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb25maWd1cmUgXFwnYWxsb3dBbGxPdXRib3VuZFxcJyBkaXJlY3RseSBvbiB0aGUgc3VwcGxpZWQgU2VjdXJpdHlHcm91cHMnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc2NvcGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2NvcGUgaXMgcmVxdWlyZWQgdG8gY3JlYXRlIHRoZSBzZWN1cml0eSBncm91cCcpO1xuICAgIH1cblxuICAgIGxldCBzZWN1cml0eUdyb3VwczogZWMyLklTZWN1cml0eUdyb3VwW107XG4gICAgaWYgKHZwY0NvbmZpZy5zZWN1cml0eUdyb3VwcyAmJiB2cGNDb25maWcuc2VjdXJpdHlHcm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgc2VjdXJpdHlHcm91cHMgPSB2cGNDb25maWcuc2VjdXJpdHlHcm91cHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNlY3VyaXR5R3JvdXAgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcy5zY29wZSEsICdTZWN1cml0eUdyb3VwJywge1xuICAgICAgICB2cGM6IHZwY0NvbmZpZy52cGMsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHZwY0NvbmZpZy5hbGxvd0FsbE91dGJvdW5kID8/IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHNlY3VyaXR5R3JvdXBzID0gW3NlY3VyaXR5R3JvdXBdO1xuICAgIH1cblxuICAgIGNvbnN0IHZwY1N1Ym5ldHMgPSB2cGNDb25maWcudnBjU3VibmV0cyA/IHZwY0NvbmZpZy52cGMuc2VsZWN0U3VibmV0cyh2cGNDb25maWcudnBjU3VibmV0cykgOiB2cGNDb25maWcudnBjLnNlbGVjdFN1Ym5ldHMoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb25uZWN0aW9uczogbmV3IGVjMi5Db25uZWN0aW9ucyh7IHNlY3VyaXR5R3JvdXBzOiBzZWN1cml0eUdyb3VwcyB9KSxcbiAgICAgIHZwY1N1Ym5ldHM6IHZwY1N1Ym5ldHMsXG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBCcm93c2VyIHRvb2wuXG4gKi9cbmV4cG9ydCBjbGFzcyBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHVibGljIG5ldHdvcmsgY29uZmlndXJhdGlvbi4gUFVCTElDIGlzIHRoZSBkZWZhdWx0IG5ldHdvcmsgbW9kZS5cbiAgICogQHJldHVybnMgQSBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24uXG4gICAqIFJ1biB0aGlzIHRvb2wgdG8gb3BlcmF0ZSBpbiBhIHB1YmxpYyBlbnZpcm9ubWVudCB3aXRoIGludGVybmV0IGFjY2Vzcywgc3VpdGFibGUgZm9yIGxlc3Mgc2Vuc2l0aXZlIG9yIG9wZW4tdXNlIHNjZW5hcmlvcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdQdWJsaWNOZXR3b3JrKCk6IEJyb3dzZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1BVQkxJQycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZnJvbSBhIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gdnBjQ29uZmlnIC0gVGhlIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIEJyb3dzZXJOZXR3b3JrQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdWcGMoc2NvcGU6IENvbnN0cnVjdCwgdnBjQ29uZmlnOiBWcGNDb25maWdQcm9wcyk6IEJyb3dzZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1ZQQycsIHNjb3BlLCB2cGNDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gYnJvd3NlckNvbm5lY3Rpb25zIC0gVGhlIGNvbm5lY3Rpb25zIG9iamVjdCB0byB0aGUgYnJvd3Nlci5cbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcihicm93c2VyQ29ubmVjdGlvbnM/OiBlYzIuQ29ubmVjdGlvbnMpOiBDZm5Ccm93c2VyQ3VzdG9tLkJyb3dzZXJOZXR3b3JrQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV0d29ya01vZGU6IHRoaXMubmV0d29ya01vZGUsXG4gICAgICB2cGNDb25maWc6ICh0aGlzLm5ldHdvcmtNb2RlID09PSAnVlBDJyAmJiBicm93c2VyQ29ubmVjdGlvbnMpID8ge1xuICAgICAgICBzdWJuZXRzOiB0aGlzLnZwY1N1Ym5ldHM/LnN1Ym5ldHM/Lm1hcChzdWJuZXQgPT4gc3VibmV0LnN1Ym5ldElkKSA/PyBbXSxcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IGJyb3dzZXJDb25uZWN0aW9ucz8uc2VjdXJpdHlHcm91cHM/Lm1hcChzID0+IHMuc2VjdXJpdHlHcm91cElkKSA/PyBbXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIENvZGUgSW50ZXJwcmV0ZXIgdG9vbC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uIGV4dGVuZHMgTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24uXG4gICAqIFJ1biB0aGlzIHRvb2wgdG8gb3BlcmF0ZSBpbiBhIHB1YmxpYyBlbnZpcm9ubWVudCB3aXRoIGludGVybmV0IGFjY2Vzcywgc3VpdGFibGUgZm9yIGxlc3Mgc2Vuc2l0aXZlIG9yIG9wZW4tdXNlIHNjZW5hcmlvcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdQdWJsaWNOZXR3b3JrKCk6IENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uKCdQVUJMSUMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc2FuZGJveCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24uXG4gICAqIFJ1biB0aGlzIHRvb2wgaW4gYSByZXN0cmljdGVkIGVudmlyb25tZW50IHdpdGggbGltaXRlZCBQZXJtaXNzaW9ucyBhbmQgRW5jcnlwdGlvbiB0byBlbmhhbmNlIHNhZmV0eSBhbmQgcmVkdWNlIHBvdGVudGlhbCByaXNrcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdTYW5kYm94TmV0d29yaygpOiBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbignU0FOREJPWCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZnJvbSBhIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gdnBjQ29uZmlnIC0gVGhlIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ1ZwYyhzY29wZTogQ29uc3RydWN0LCB2cGNDb25maWc6IFZwY0NvbmZpZ1Byb3BzKTogQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1ZQQycsIHNjb3BlLCB2cGNDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gY29kZUludGVycHJldGVyQ29ubmVjdGlvbnMgLSBUaGUgY29ubmVjdGlvbnMgb2JqZWN0IHRvIHRoZSBjb2RlIGludGVycHJldGVyLlxuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKGNvZGVJbnRlcnByZXRlckNvbm5lY3Rpb25zPzogZWMyLkNvbm5lY3Rpb25zKTogQ2ZuQ29kZUludGVycHJldGVyQ3VzdG9tLkNvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBuZXR3b3JrTW9kZTogdGhpcy5uZXR3b3JrTW9kZSxcbiAgICAgIHZwY0NvbmZpZzogKHRoaXMubmV0d29ya01vZGUgPT09ICdWUEMnICYmIGNvZGVJbnRlcnByZXRlckNvbm5lY3Rpb25zKSA/IHtcbiAgICAgICAgc3VibmV0czogdGhpcy52cGNTdWJuZXRzPy5zdWJuZXRzPy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCkgPz8gW10sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBjb2RlSW50ZXJwcmV0ZXJDb25uZWN0aW9ucz8uc2VjdXJpdHlHcm91cHM/Lm1hcChzID0+IHMuc2VjdXJpdHlHcm91cElkKSA/PyBbXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIFJ1bnRpbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBSdW50aW1lTmV0d29ya0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcHVibGljIG5ldHdvcmsgY29uZmlndXJhdGlvbi4gUFVCTElDIGlzIHRoZSBkZWZhdWx0IG5ldHdvcmsgbW9kZS5cbiAgICogQHJldHVybnMgQSBSdW50aW1lTmV0d29ya0NvbmZpZ3VyYXRpb24uXG4gICAqIFJ1biB0aGUgcnVudGltZSBpbiBhIHB1YmxpYyBlbnZpcm9ubWVudCB3aXRoIGludGVybmV0IGFjY2Vzcywgc3VpdGFibGUgZm9yIGxlc3Mgc2Vuc2l0aXZlIG9yIG9wZW4tdXNlIHNjZW5hcmlvcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdQdWJsaWNOZXR3b3JrKCk6IFJ1bnRpbWVOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBSdW50aW1lTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1BVQkxJQycpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZnJvbSBhIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBjcmVhdGluZyByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSB2cGNDb25maWcgLSBUaGUgVlBDIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgUnVudGltZU5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ1ZwYyhzY29wZTogQ29uc3RydWN0LCB2cGNDb25maWc6IFZwY0NvbmZpZ1Byb3BzKTogUnVudGltZU5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IFJ1bnRpbWVOZXR3b3JrQ29uZmlndXJhdGlvbignVlBDJywgc2NvcGUsIHZwY0NvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgbmV0d29yayBjb25maWd1cmF0aW9uIGFzIGEgQ2xvdWRGb3JtYXRpb24gcHJvcGVydHkuXG4gICAqIEBwYXJhbSBydW50aW1lQ29ubmVjdGlvbnMgLSBUaGUgY29ubmVjdGlvbnMgb2JqZWN0IHRvIHRoZSBydW50aW1lLlxuICAgKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKF9ydW50aW1lQ29ubmVjdGlvbnM/OiBlYzIuQ29ubmVjdGlvbnMpOiBDZm5SdW50aW1lLk5ldHdvcmtDb25maWd1cmF0aW9uUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBuZXR3b3JrTW9kZTogdGhpcy5uZXR3b3JrTW9kZSxcbiAgICAgIG5ldHdvcmtNb2RlQ29uZmlnOiAodGhpcy5uZXR3b3JrTW9kZSA9PSAnVlBDJyAmJiBfcnVudGltZUNvbm5lY3Rpb25zKSA/IHtcbiAgICAgICAgc3VibmV0czogdGhpcy52cGNTdWJuZXRzPy5zdWJuZXRzPy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCkgPz8gW10sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBfcnVudGltZUNvbm5lY3Rpb25zPy5zZWN1cml0eUdyb3Vwcz8ubWFwKHM9PiBzLnNlY3VyaXR5R3JvdXBJZCkgPz8gW10sXG4gICAgICB9OiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmV0d29yay1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsMkNBQTJDO0FBOEQzQzs7R0FFRztBQUNILE1BQXNCLG9CQUFvQjs7SUFDeEM7Ozs7T0FJRztJQUNNLFdBQVcsQ0FBUztJQUM3Qjs7T0FFRztJQUNNLFdBQVcsQ0FBOEI7SUFDbEQ7O09BRUc7SUFDTSxLQUFLLENBQXlCO0lBQ3ZDOztPQUVHO0lBQ00sVUFBVSxDQUF1QjtJQUMxQzs7O09BR0c7SUFDSCxZQUF1QixJQUFZLEVBQUUsS0FBaUIsRUFBRSxTQUEwQjs7Ozs7OytDQXZCOUQsb0JBQW9COzs7O1FBd0J0QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUV4QixnREFBZ0Q7UUFDaEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsRUFBRSxVQUFVLENBQUM7S0FDN0M7SUFFRDs7T0FFRztJQUNLLDhCQUE4QixHQUFHLENBQUMsU0FBMEIsRUFBNkIsRUFBRTtRQUNqRyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsSUFBSSxTQUFTLEVBQUUsZ0JBQWdCLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEcsTUFBTSxJQUFJLEtBQUssQ0FBQyx1RkFBdUYsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsU0FB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QUFJLENBQUMsV0FBVyxJQUFJLEtBQUssSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN2RSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO2FBQ3RGLENBQUEsQ0FBQyxDQUFDLFNBQVM7U0FDYixDQUFDO0tBQ0g7O0FBakNILGtFQWtDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBjZGtsYWJzL25vLXRocm93LWRlZmF1bHQtZXJyb3IgKi9cbmltcG9ydCB0eXBlIHsgQ2ZuQnJvd3NlckN1c3RvbSwgQ2ZuQ29kZUludGVycHJldGVyQ3VzdG9tLCBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuLy8gSW50ZXJuYWwgTGlic1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBWUEMgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzLlxuICogT25seSB1c2VkIHdoZW4gbmV0d29yayBtb2RlIGlzIFZQQy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNDb25maWdQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgVlBDIHRvIGRlcGxveSB0aGUgcmVzb3VyY2UgdG8uXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuICAvKipcbiAgICogV2hlcmUgdG8gcGxhY2UgdGhlIG5ldHdvcmsgaW50ZXJmYWNlcyB3aXRoaW4gdGhlIFZQQy5cbiAgICpcbiAgICogVGhpcyByZXF1aXJlcyBgdnBjYCB0byBiZSBzcGVjaWZpZWQgaW4gb3JkZXIgZm9yIGludGVyZmFjZXMgdG8gYWN0dWFsbHkgYmVcbiAgICogcGxhY2VkIGluIHRoZSBzdWJuZXRzLiBJZiBgdnBjYCBpcyBub3Qgc3BlY2lmeSwgdGhpcyB3aWxsIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBWcGMgZGVmYXVsdCBzdHJhdGVneSBpZiBub3Qgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcmVzb3VyY2UncyBuZXR3b3JrIGludGVyZmFjZXMuXG4gICAqXG4gICAqIE9ubHkgdXNlZCBpZiAndnBjJyBpcyBzdXBwbGllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiB0aGUgcmVzb3VyY2UgaXMgcGxhY2VkIHdpdGhpbiBhIFZQQyBhbmQgYSBzZWN1cml0eSBncm91cCBpc1xuICAgKiBub3Qgc3BlY2lmaWVkIGJ5IHRoaXMgcHJvcCwgYSBkZWRpY2F0ZWQgc2VjdXJpdHlcbiAgICogZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIGZvciB0aGlzIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBlYzIuSVNlY3VyaXR5R3JvdXBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgdGhlIHJlc291cmNlIHRvIHNlbmQgYWxsIG5ldHdvcmsgdHJhZmZpYyAoZXhjZXB0IGlwdjYpXG4gICAqXG4gICAqIElmIHNldCB0byBmYWxzZSwgeW91IG11c3QgaW5kaXZpZHVhbGx5IGFkZCB0cmFmZmljIHJ1bGVzIHRvIGFsbG93IHRoZVxuICAgKiByZXNvdXJjZSB0byBjb25uZWN0IHRvIG5ldHdvcmsgdGFyZ2V0cy5cbiAgICpcbiAgICogRG8gbm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBpZiB0aGUgYHNlY3VyaXR5R3JvdXBzYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqIEluc3RlYWQsIGNvbmZpZ3VyZSBgYWxsb3dBbGxPdXRib3VuZGAgZGlyZWN0bHkgb24gdGhlIHNlY3VyaXR5IGdyb3VwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0FsbE91dGJvdW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBWUEMgY29uZmlndXJhdGlvbi5cbiAqIE9ubHkgdXNlZCB3aGVuIG5ldHdvcmsgbW9kZSBpcyBWUEMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIE5ldHdvcmtDb25maWcge1xuICAvKipcbiAgICogVGhlIGNvbm5lY3Rpb25zIHRvIHRoZSBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBWUEMgc3VibmV0cyB0byB1c2UuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzOiBlYzIuU2VsZWN0ZWRTdWJuZXRzIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIG5ldHdvcmsgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBuZXR3b3JrIG1vZGUgdG8gdXNlLlxuICAgKiBDb25maWd1cmUgdGhlIHNlY3VyaXR5IGxldmVsIGZvciBhZ2VudFxuICAgKiBleGVjdXRpb24gdG8gY29udHJvbCBhY2Nlc3MsIGlzb2xhdGUgcmVzb3VyY2VzLCBhbmQgcHJvdGVjdCBzZW5zaXRpdmUgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtNb2RlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbnMgb2JqZWN0IHRvIHRoZSBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlc291cmNlIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU/OiBDb25zdHJ1Y3QgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBUaGUgVlBDIHN1Ym5ldHMgdG8gdXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IG5ldHdvcmsgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIG1vZGUgLSB0aGUgbmV0d29yayBtb2RlIHRvIHVzZSBmb3IgdGhlIHRvb2wuXG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IgKG1vZGU6IHN0cmluZywgc2NvcGU/OiBDb25zdHJ1Y3QsIHZwY0NvbmZpZz86IFZwY0NvbmZpZ1Byb3BzKSB7XG4gICAgdGhpcy5zY29wZSA9IHNjb3BlO1xuICAgIHRoaXMubmV0d29ya01vZGUgPSBtb2RlO1xuXG4gICAgLy8gVmFsaWRhdGUgdnBjIGNvbmZpZyBhbmQgY29uZmlndXJlIGNvbm5lY3Rpb25zXG4gICAgY29uc3QgbmV0d29ya0NvbmZpZyA9IHRoaXMuX3ZhbGlkYXRlQW5kQ29uZmlndXJlVnBjQ29uZmlnKHZwY0NvbmZpZyk7XG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IG5ldHdvcmtDb25maWc/LmNvbm5lY3Rpb25zO1xuICAgIHRoaXMudnBjU3VibmV0cyA9IG5ldHdvcmtDb25maWc/LnZwY1N1Ym5ldHM7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSB2cGMgY29uZmlnLlxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVBbmRDb25maWd1cmVWcGNDb25maWcgPSAodnBjQ29uZmlnPzogVnBjQ29uZmlnUHJvcHMpOiBOZXR3b3JrQ29uZmlnIHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoKHZwY0NvbmZpZz8uc2VjdXJpdHlHcm91cHMgfHwgdnBjQ29uZmlnPy5hbGxvd0FsbE91dGJvdW5kICE9PSB1bmRlZmluZWQpICYmICF2cGNDb25maWc/LnZwYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY29uZmlndXJlIFxcJ3NlY3VyaXR5R3JvdXBzXFwnIG9yIFxcJ2FsbG93QWxsT3V0Ym91bmRcXCcgd2l0aG91dCBjb25maWd1cmluZyBhIFZQQycpO1xuICAgIH1cblxuICAgIGlmICghdnBjQ29uZmlnPy52cGMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCh2cGNDb25maWc/LnNlY3VyaXR5R3JvdXBzICYmIHZwY0NvbmZpZz8uc2VjdXJpdHlHcm91cHMubGVuZ3RoID4gMCkgJiYgdnBjQ29uZmlnPy5hbGxvd0FsbE91dGJvdW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29uZmlndXJlIFxcJ2FsbG93QWxsT3V0Ym91bmRcXCcgZGlyZWN0bHkgb24gdGhlIHN1cHBsaWVkIFNlY3VyaXR5R3JvdXBzJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnNjb3BlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Njb3BlIGlzIHJlcXVpcmVkIHRvIGNyZWF0ZSB0aGUgc2VjdXJpdHkgZ3JvdXAnKTtcbiAgICB9XG5cbiAgICBsZXQgc2VjdXJpdHlHcm91cHM6IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuICAgIGlmICh2cGNDb25maWcuc2VjdXJpdHlHcm91cHMgJiYgdnBjQ29uZmlnLnNlY3VyaXR5R3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHNlY3VyaXR5R3JvdXBzID0gdnBjQ29uZmlnLnNlY3VyaXR5R3JvdXBzO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRoaXMuc2NvcGUhLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgdnBjOiB2cGNDb25maWcudnBjLFxuICAgICAgICBhbGxvd0FsbE91dGJvdW5kOiB2cGNDb25maWcuYWxsb3dBbGxPdXRib3VuZCA/PyB0cnVlLFxuICAgICAgfSk7XG4gICAgICBzZWN1cml0eUdyb3VwcyA9IFtzZWN1cml0eUdyb3VwXTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gdnBjQ29uZmlnLnZwY1N1Ym5ldHMgPyB2cGNDb25maWcudnBjLnNlbGVjdFN1Ym5ldHModnBjQ29uZmlnLnZwY1N1Ym5ldHMpIDogdnBjQ29uZmlnLnZwYy5zZWxlY3RTdWJuZXRzKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29ubmVjdGlvbnM6IG5ldyBlYzIuQ29ubmVjdGlvbnMoeyBzZWN1cml0eUdyb3Vwczogc2VjdXJpdHlHcm91cHMgfSksXG4gICAgICB2cGNTdWJuZXRzOiB2cGNTdWJuZXRzLFxuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogTmV0d29yayBjb25maWd1cmF0aW9uIGZvciB0aGUgQnJvd3NlciB0b29sLlxuICovXG5leHBvcnQgY2xhc3MgQnJvd3Nlck5ldHdvcmtDb25maWd1cmF0aW9uIGV4dGVuZHMgTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24uIFBVQkxJQyBpcyB0aGUgZGVmYXVsdCBuZXR3b3JrIG1vZGUuXG4gICAqIEByZXR1cm5zIEEgQnJvd3Nlck5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKiBSdW4gdGhpcyB0b29sIHRvIG9wZXJhdGUgaW4gYSBwdWJsaWMgZW52aXJvbm1lbnQgd2l0aCBpbnRlcm5ldCBhY2Nlc3MsIHN1aXRhYmxlIGZvciBsZXNzIHNlbnNpdGl2ZSBvciBvcGVuLXVzZSBzY2VuYXJpb3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nUHVibGljTmV0d29yaygpOiBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgQnJvd3Nlck5ldHdvcmtDb25maWd1cmF0aW9uKCdQVUJMSUMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gYSBWUEMgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHZwY0NvbmZpZyAtIFRoZSBWUEMgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMgQSBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nVnBjKHNjb3BlOiBDb25zdHJ1Y3QsIHZwY0NvbmZpZzogVnBjQ29uZmlnUHJvcHMpOiBCcm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgQnJvd3Nlck5ldHdvcmtDb25maWd1cmF0aW9uKCdWUEMnLCBzY29wZSwgdnBjQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gYXMgYSBDbG91ZEZvcm1hdGlvbiBwcm9wZXJ0eS5cbiAgICogQHBhcmFtIGJyb3dzZXJDb25uZWN0aW9ucyAtIFRoZSBjb25uZWN0aW9ucyBvYmplY3QgdG8gdGhlIGJyb3dzZXIuXG4gICAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5LlxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoYnJvd3NlckNvbm5lY3Rpb25zPzogZWMyLkNvbm5lY3Rpb25zKTogQ2ZuQnJvd3NlckN1c3RvbS5Ccm93c2VyTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5ldHdvcmtNb2RlOiB0aGlzLm5ldHdvcmtNb2RlLFxuICAgICAgdnBjQ29uZmlnOiAodGhpcy5uZXR3b3JrTW9kZSA9PT0gJ1ZQQycgJiYgYnJvd3NlckNvbm5lY3Rpb25zKSA/IHtcbiAgICAgICAgc3VibmV0czogdGhpcy52cGNTdWJuZXRzPy5zdWJuZXRzPy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCkgPz8gW10sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBicm93c2VyQ29ubmVjdGlvbnM/LnNlY3VyaXR5R3JvdXBzPy5tYXAocyA9PiBzLnNlY3VyaXR5R3JvdXBJZCkgPz8gW10sXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBDb2RlIEludGVycHJldGVyIHRvb2wuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiBleHRlbmRzIE5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwdWJsaWMgbmV0d29yayBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKiBSdW4gdGhpcyB0b29sIHRvIG9wZXJhdGUgaW4gYSBwdWJsaWMgZW52aXJvbm1lbnQgd2l0aCBpbnRlcm5ldCBhY2Nlc3MsIHN1aXRhYmxlIGZvciBsZXNzIHNlbnNpdGl2ZSBvciBvcGVuLXVzZSBzY2VuYXJpb3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nUHVibGljTmV0d29yaygpOiBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbignUFVCTElDJyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHNhbmRib3ggbmV0d29yayBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKiBSdW4gdGhpcyB0b29sIGluIGEgcmVzdHJpY3RlZCBlbnZpcm9ubWVudCB3aXRoIGxpbWl0ZWQgUGVybWlzc2lvbnMgYW5kIEVuY3J5cHRpb24gdG8gZW5oYW5jZSBzYWZldHkgYW5kIHJlZHVjZSBwb3RlbnRpYWwgcmlza3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nU2FuZGJveE5ldHdvcmsoKTogQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgQ29kZUludGVycHJldGVyTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1NBTkRCT1gnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gYSBWUEMgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHZwY0NvbmZpZyAtIFRoZSBWUEMgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMgQSBDb2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdWcGMoc2NvcGU6IENvbnN0cnVjdCwgdnBjQ29uZmlnOiBWcGNDb25maWdQcm9wcyk6IENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IENvZGVJbnRlcnByZXRlck5ldHdvcmtDb25maWd1cmF0aW9uKCdWUEMnLCBzY29wZSwgdnBjQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gYXMgYSBDbG91ZEZvcm1hdGlvbiBwcm9wZXJ0eS5cbiAgICogQHBhcmFtIGNvZGVJbnRlcnByZXRlckNvbm5lY3Rpb25zIC0gVGhlIGNvbm5lY3Rpb25zIG9iamVjdCB0byB0aGUgY29kZSBpbnRlcnByZXRlci5cbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcihjb2RlSW50ZXJwcmV0ZXJDb25uZWN0aW9ucz86IGVjMi5Db25uZWN0aW9ucyk6IENmbkNvZGVJbnRlcnByZXRlckN1c3RvbS5Db2RlSW50ZXJwcmV0ZXJOZXR3b3JrQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV0d29ya01vZGU6IHRoaXMubmV0d29ya01vZGUsXG4gICAgICB2cGNDb25maWc6ICh0aGlzLm5ldHdvcmtNb2RlID09PSAnVlBDJyAmJiBjb2RlSW50ZXJwcmV0ZXJDb25uZWN0aW9ucykgPyB7XG4gICAgICAgIHN1Ym5ldHM6IHRoaXMudnBjU3VibmV0cz8uc3VibmV0cz8ubWFwKHN1Ym5ldCA9PiBzdWJuZXQuc3VibmV0SWQpID8/IFtdLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogY29kZUludGVycHJldGVyQ29ubmVjdGlvbnM/LnNlY3VyaXR5R3JvdXBzPy5tYXAocyA9PiBzLnNlY3VyaXR5R3JvdXBJZCkgPz8gW10sXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBSdW50aW1lLlxuICovXG5leHBvcnQgY2xhc3MgUnVudGltZU5ldHdvcmtDb25maWd1cmF0aW9uIGV4dGVuZHMgTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24uIFBVQkxJQyBpcyB0aGUgZGVmYXVsdCBuZXR3b3JrIG1vZGUuXG4gICAqIEByZXR1cm5zIEEgUnVudGltZU5ldHdvcmtDb25maWd1cmF0aW9uLlxuICAgKiBSdW4gdGhlIHJ1bnRpbWUgaW4gYSBwdWJsaWMgZW52aXJvbm1lbnQgd2l0aCBpbnRlcm5ldCBhY2Nlc3MsIHN1aXRhYmxlIGZvciBsZXNzIHNlbnNpdGl2ZSBvciBvcGVuLXVzZSBzY2VuYXJpb3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzaW5nUHVibGljTmV0d29yaygpOiBSdW50aW1lTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgUnVudGltZU5ldHdvcmtDb25maWd1cmF0aW9uKCdQVUJMSUMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV0d29yayBjb25maWd1cmF0aW9uIGZyb20gYSBWUEMgY29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgY3JlYXRpbmcgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0gdnBjQ29uZmlnIC0gVGhlIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIFJ1bnRpbWVOZXR3b3JrQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdWcGMoc2NvcGU6IENvbnN0cnVjdCwgdnBjQ29uZmlnOiBWcGNDb25maWdQcm9wcyk6IFJ1bnRpbWVOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBSdW50aW1lTmV0d29ya0NvbmZpZ3VyYXRpb24oJ1ZQQycsIHNjb3BlLCB2cGNDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gcnVudGltZUNvbm5lY3Rpb25zIC0gVGhlIGNvbm5lY3Rpb25zIG9iamVjdCB0byB0aGUgcnVudGltZS5cbiAgICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcihfcnVudGltZUNvbm5lY3Rpb25zPzogZWMyLkNvbm5lY3Rpb25zKTogQ2ZuUnVudGltZS5OZXR3b3JrQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV0d29ya01vZGU6IHRoaXMubmV0d29ya01vZGUsXG4gICAgICBuZXR3b3JrTW9kZUNvbmZpZzogKHRoaXMubmV0d29ya01vZGUgPT0gJ1ZQQycgJiYgX3J1bnRpbWVDb25uZWN0aW9ucykgPyB7XG4gICAgICAgIHN1Ym5ldHM6IHRoaXMudnBjU3VibmV0cz8uc3VibmV0cz8ubWFwKHN1Ym5ldCA9PiBzdWJuZXQuc3VibmV0SWQpID8/IFtdLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogX3J1bnRpbWVDb25uZWN0aW9ucz8uc2VjdXJpdHlHcm91cHM/Lm1hcChzPT4gcy5zZWN1cml0eUdyb3VwSWQpID8/IFtdLFxuICAgICAgfTogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -10,7 +10,7 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
13
+ import type { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
14
14
  import { CustomClaimOperator } from '../../common/types';
15
15
  /**
16
16
  * Represents a custom claim validation configuration for Runtime JWT authorizers.
@@ -28,7 +28,7 @@ class RuntimeCustomClaim {
28
28
  valueType;
29
29
  operator;
30
30
  value;
31
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeCustomClaim", version: "2.237.1-alpha.0" };
31
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeCustomClaim", version: "2.239.0-alpha.0" };
32
32
  /**
33
33
  * Create a custom claim with a string value.
34
34
  * String claims must use the EQUALS operator.
@@ -124,4 +124,4 @@ class RuntimeCustomClaim {
124
124
  }
125
125
  }
126
126
  exports.RuntimeCustomClaim = RuntimeCustomClaim;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3VzdG9tLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFFcEMsOENBQStFO0FBQy9FLDhEQUF3RDtBQUV4RDs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFxQ1Y7SUFDQTtJQUNBO0lBQ0E7O0lBdkNuQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN2RCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDckc7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLFdBQWdDLDJCQUFtQixDQUFDLFFBQVE7Ozs7Ozs7Ozs7UUFFNUQsbURBQW1EO1FBQ25ELElBQUksUUFBUSxLQUFLLDJCQUFtQixDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssMkJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0YsTUFBTSxJQUFJLG9DQUFlLENBQ3ZCLGlCQUFpQixJQUFJLDhFQUE4RSxRQUFRLEVBQUUsQ0FDOUcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDMUY7SUFFRCxZQUNtQixJQUFZLEVBQ1osU0FBK0IsRUFDL0IsUUFBNkIsRUFDN0IsS0FBd0I7UUFIeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBRXpDLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxJQUFJLFNBQVMsS0FBSyw0QkFBb0IsQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLG9DQUFlLENBQUMsaUJBQWlCLElBQUksK0NBQStDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssNEJBQW9CLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLGlCQUFpQixJQUFJLHFEQUFxRCxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEgsQ0FBQztLQUNGO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLCtEQUErRDtRQUMvRCxJQUFJLGVBQXVELENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLDRCQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25ELGdFQUFnRTtZQUNoRSxlQUFlLEdBQUc7Z0JBQ2hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFlO2FBQ3ZDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLDRGQUE0RjtZQUM1RixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssMkJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25ELHNGQUFzRjtnQkFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQWlCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxRCxNQUFNLElBQUksb0NBQWUsQ0FDdkIsaUJBQWlCLElBQUksQ0FBQyxJQUFJLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxTQUFTLENBQ3pHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxlQUFlLEdBQUc7b0JBQ2hCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzVCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUNBQXlDO2dCQUN6QyxlQUFlLEdBQUc7b0JBQ2hCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxLQUFpQjtpQkFDN0MsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTztZQUNMLHFCQUFxQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2hDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFDLDBCQUEwQixFQUFFO2dCQUMxQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDakMsZUFBZSxFQUFFLGVBQWU7YUFDakM7U0FDRixDQUFDO0tBQ0g7O0FBL0ZILGdEQWdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB7IEN1c3RvbUNsYWltT3BlcmF0b3IsIEN1c3RvbUNsYWltVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4uL3ZhbGlkYXRpb24taGVscGVycyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIFJ1bnRpbWUgSldUIGF1dGhvcml6ZXJzLlxuICogQ3VzdG9tIGNsYWltcyBhbGxvdyB5b3UgdG8gdmFsaWRhdGUgYWRkaXRpb25hbCBmaWVsZHMgaW4gSldUIHRva2VucyBiZXlvbmRcbiAqIHRoZSBzdGFuZGFyZCBhdWRpZW5jZSwgY2xpZW50LCBhbmQgc2NvcGUgdmFsaWRhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSdW50aW1lQ3VzdG9tQ2xhaW0ge1xuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIGNsYWltIHdpdGggYSBzdHJpbmcgdmFsdWUuXG4gICAqIFN0cmluZyBjbGFpbXMgbXVzdCB1c2UgdGhlIEVRVUFMUyBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gbWF0Y2ggKG11c3QgZXhhY3RseSBlcXVhbClcbiAgICogQHJldHVybnMgQSBSdW50aW1lQ3VzdG9tQ2xhaW0gY29uZmlndXJlZCBmb3Igc3RyaW5nIHZhbGlkYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aFN0cmluZ1ZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFJ1bnRpbWVDdXN0b21DbGFpbSB7XG4gICAgcmV0dXJuIG5ldyBSdW50aW1lQ3VzdG9tQ2xhaW0obmFtZSwgQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HLCBDdXN0b21DbGFpbU9wZXJhdG9yLkVRVUFMUywgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGN1c3RvbSBjbGFpbSB3aXRoIGEgc3RyaW5nIGFycmF5IHZhbHVlLlxuICAgKiBTdHJpbmcgYXJyYXkgY2xhaW1zIGNhbiB1c2UgQ09OVEFJTlMgKGRlZmF1bHQpIG9yIENPTlRBSU5TX0FOWSBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2Ygc3RyaW5nIHZhbHVlcyB0byBtYXRjaC4gRm9yIENPTlRBSU5TIG9wZXJhdG9yLCBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgdmFsdWUuXG4gICAqIEBwYXJhbSBvcGVyYXRvciBUaGUgbWF0Y2ggb3BlcmF0b3IgKGRlZmF1bHRzIHRvIENPTlRBSU5TKVxuICAgKiBAcmV0dXJucyBBIFJ1bnRpbWVDdXN0b21DbGFpbSBjb25maWd1cmVkIGZvciBzdHJpbmcgYXJyYXkgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoU3RyaW5nQXJyYXlWYWx1ZShcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSxcbiAgICBvcGVyYXRvcjogQ3VzdG9tQ2xhaW1PcGVyYXRvciA9IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlMsXG4gICk6IFJ1bnRpbWVDdXN0b21DbGFpbSB7XG4gICAgLy8gVmFsaWRhdGUgb3BlcmF0b3IgaXMgdmFsaWQgZm9yIFNUUklOR19BUlJBWSB0eXBlXG4gICAgaWYgKG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TICYmIG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TX0FOWSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEN1c3RvbSBjbGFpbSAnJHtuYW1lfSc6IFNUUklOR19BUlJBWSB0eXBlIG9ubHkgc3VwcG9ydHMgQ09OVEFJTlMgb3IgQ09OVEFJTlNfQU5ZIG9wZXJhdG9ycywgZ290ICR7b3BlcmF0b3J9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUnVudGltZUN1c3RvbUNsYWltKG5hbWUsIEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklOR19BUlJBWSwgb3BlcmF0b3IsIHZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVUeXBlOiBDdXN0b21DbGFpbVZhbHVlVHlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wZXJhdG9yOiBDdXN0b21DbGFpbU9wZXJhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICApIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHZhbHVlIG1hdGNoZXMgdGhlIHZhbHVlVHlwZVxuICAgIGlmICh2YWx1ZVR5cGUgPT09IEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklORyAmJiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkcgdHlwZSByZXF1aXJlcyBhIHN0cmluZyB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICBpZiAodmFsdWVUeXBlID09PSBDdXN0b21DbGFpbVZhbHVlVHlwZS5TVFJJTkdfQVJSQVkgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkdfQVJSQVkgdHlwZSByZXF1aXJlcyBhbiBhcnJheSB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGN1c3RvbSBjbGFpbSBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5DdXN0b21DbGFpbVZhbGlkYXRpb25UeXBlUHJvcGVydHkge1xuICAgIC8vIEJ1aWxkIHRoZSBjbGFpbSBtYXRjaCB2YWx1ZSBiYXNlZCBvbiBvcGVyYXRvciBhbmQgdmFsdWUgdHlwZVxuICAgIGxldCBjbGFpbU1hdGNoVmFsdWU6IENmblJ1bnRpbWUuQ2xhaW1NYXRjaFZhbHVlVHlwZVByb3BlcnR5O1xuICAgIGlmICh0aGlzLnZhbHVlVHlwZSA9PT0gQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HKSB7XG4gICAgICAvLyBTVFJJTkcgdHlwZSBhbHdheXMgdXNlcyBtYXRjaFZhbHVlU3RyaW5nIHdpdGggRVFVQUxTIG9wZXJhdG9yXG4gICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgIG1hdGNoVmFsdWVTdHJpbmc6IHRoaXMudmFsdWUgYXMgc3RyaW5nLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU1RSSU5HX0FSUkFZIHR5cGU6IENPTlRBSU5TIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZywgQ09OVEFJTlNfQU5ZIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZ0xpc3RcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TKSB7XG4gICAgICAgIC8vIENPTlRBSU5TIHJlcXVpcmVzIGEgc2luZ2xlIHN0cmluZyB2YWx1ZSAoY2hlY2sgaWYgY2xhaW0gYXJyYXkgY29udGFpbnMgdGhpcyBzdHJpbmcpXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlc1swXSkgJiYgdmFsdWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICBgQ3VzdG9tIGNsYWltICcke3RoaXMubmFtZX0nOiBDT05UQUlOUyBvcGVyYXRvciByZXF1aXJlcyBleGFjdGx5IG9uZSB2YWx1ZSwgZ290ICR7dmFsdWVzLmxlbmd0aH0gdmFsdWVzYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNsYWltTWF0Y2hWYWx1ZSA9IHtcbiAgICAgICAgICBtYXRjaFZhbHVlU3RyaW5nOiB2YWx1ZXNbMF0sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDT05UQUlOU19BTlkgdXNlcyBtYXRjaFZhbHVlU3RyaW5nTGlzdFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgICAgbWF0Y2hWYWx1ZVN0cmluZ0xpc3Q6IHRoaXMudmFsdWUgYXMgc3RyaW5nW10sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluYm91bmRUb2tlbkNsYWltTmFtZTogdGhpcy5uYW1lLFxuICAgICAgaW5ib3VuZFRva2VuQ2xhaW1WYWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxuICAgICAgYXV0aG9yaXppbmdDbGFpbU1hdGNoVmFsdWU6IHtcbiAgICAgICAgY2xhaW1NYXRjaE9wZXJhdG9yOiB0aGlzLm9wZXJhdG9yLFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWU6IGNsYWltTWF0Y2hWYWx1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3VzdG9tLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFFcEMsOENBQStFO0FBQy9FLDhEQUF3RDtBQUV4RDs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFxQ1Y7SUFDQTtJQUNBO0lBQ0E7O0lBdkNuQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN2RCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDckc7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLFdBQWdDLDJCQUFtQixDQUFDLFFBQVE7Ozs7Ozs7Ozs7UUFFNUQsbURBQW1EO1FBQ25ELElBQUksUUFBUSxLQUFLLDJCQUFtQixDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssMkJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0YsTUFBTSxJQUFJLG9DQUFlLENBQ3ZCLGlCQUFpQixJQUFJLDhFQUE4RSxRQUFRLEVBQUUsQ0FDOUcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDMUY7SUFFRCxZQUNtQixJQUFZLEVBQ1osU0FBK0IsRUFDL0IsUUFBNkIsRUFDN0IsS0FBd0I7UUFIeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBRXpDLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxJQUFJLFNBQVMsS0FBSyw0QkFBb0IsQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLG9DQUFlLENBQUMsaUJBQWlCLElBQUksK0NBQStDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssNEJBQW9CLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLGlCQUFpQixJQUFJLHFEQUFxRCxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEgsQ0FBQztLQUNGO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLCtEQUErRDtRQUMvRCxJQUFJLGVBQXVELENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLDRCQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25ELGdFQUFnRTtZQUNoRSxlQUFlLEdBQUc7Z0JBQ2hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFlO2FBQ3ZDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLDRGQUE0RjtZQUM1RixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssMkJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25ELHNGQUFzRjtnQkFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQWlCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxRCxNQUFNLElBQUksb0NBQWUsQ0FDdkIsaUJBQWlCLElBQUksQ0FBQyxJQUFJLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxTQUFTLENBQ3pHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxlQUFlLEdBQUc7b0JBQ2hCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzVCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUNBQXlDO2dCQUN6QyxlQUFlLEdBQUc7b0JBQ2hCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxLQUFpQjtpQkFDN0MsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTztZQUNMLHFCQUFxQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2hDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFDLDBCQUEwQixFQUFFO2dCQUMxQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDakMsZUFBZSxFQUFFLGVBQWU7YUFDakM7U0FDRixDQUFDO0tBQ0g7O0FBL0ZILGdEQWdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tQ2xhaW1PcGVyYXRvciwgQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi9jb21tb24vdHlwZXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY3VzdG9tIGNsYWltIHZhbGlkYXRpb24gY29uZmlndXJhdGlvbiBmb3IgUnVudGltZSBKV1QgYXV0aG9yaXplcnMuXG4gKiBDdXN0b20gY2xhaW1zIGFsbG93IHlvdSB0byB2YWxpZGF0ZSBhZGRpdGlvbmFsIGZpZWxkcyBpbiBKV1QgdG9rZW5zIGJleW9uZFxuICogdGhlIHN0YW5kYXJkIGF1ZGllbmNlLCBjbGllbnQsIGFuZCBzY29wZSB2YWxpZGF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDdXN0b21DbGFpbSB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b20gY2xhaW0gd2l0aCBhIHN0cmluZyB2YWx1ZS5cbiAgICogU3RyaW5nIGNsYWltcyBtdXN0IHVzZSB0aGUgRVFVQUxTIG9wZXJhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY2xhaW0gaW4gdGhlIEpXVCB0b2tlblxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZSB0byBtYXRjaCAobXVzdCBleGFjdGx5IGVxdWFsKVxuICAgKiBAcmV0dXJucyBBIFJ1bnRpbWVDdXN0b21DbGFpbSBjb25maWd1cmVkIGZvciBzdHJpbmcgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoU3RyaW5nVmFsdWUobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogUnVudGltZUN1c3RvbUNsYWltIHtcbiAgICByZXR1cm4gbmV3IFJ1bnRpbWVDdXN0b21DbGFpbShuYW1lLCBDdXN0b21DbGFpbVZhbHVlVHlwZS5TVFJJTkcsIEN1c3RvbUNsYWltT3BlcmF0b3IuRVFVQUxTLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIGNsYWltIHdpdGggYSBzdHJpbmcgYXJyYXkgdmFsdWUuXG4gICAqIFN0cmluZyBhcnJheSBjbGFpbXMgY2FuIHVzZSBDT05UQUlOUyAoZGVmYXVsdCkgb3IgQ09OVEFJTlNfQU5ZIG9wZXJhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgY2xhaW0gaW4gdGhlIEpXVCB0b2tlblxuICAgKiBAcGFyYW0gdmFsdWVzIFRoZSBhcnJheSBvZiBzdHJpbmcgdmFsdWVzIHRvIG1hdGNoLiBGb3IgQ09OVEFJTlMgb3BlcmF0b3IsIG11c3QgY29udGFpbiBleGFjdGx5IG9uZSB2YWx1ZS5cbiAgICogQHBhcmFtIG9wZXJhdG9yIFRoZSBtYXRjaCBvcGVyYXRvciAoZGVmYXVsdHMgdG8gQ09OVEFJTlMpXG4gICAqIEByZXR1cm5zIEEgUnVudGltZUN1c3RvbUNsYWltIGNvbmZpZ3VyZWQgZm9yIHN0cmluZyBhcnJheSB2YWxpZGF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGhTdHJpbmdBcnJheVZhbHVlKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB2YWx1ZXM6IHN0cmluZ1tdLFxuICAgIG9wZXJhdG9yOiBDdXN0b21DbGFpbU9wZXJhdG9yID0gQ3VzdG9tQ2xhaW1PcGVyYXRvci5DT05UQUlOUyxcbiAgKTogUnVudGltZUN1c3RvbUNsYWltIHtcbiAgICAvLyBWYWxpZGF0ZSBvcGVyYXRvciBpcyB2YWxpZCBmb3IgU1RSSU5HX0FSUkFZIHR5cGVcbiAgICBpZiAob3BlcmF0b3IgIT09IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlMgJiYgb3BlcmF0b3IgIT09IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlNfQU5ZKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgQ3VzdG9tIGNsYWltICcke25hbWV9JzogU1RSSU5HX0FSUkFZIHR5cGUgb25seSBzdXBwb3J0cyBDT05UQUlOUyBvciBDT05UQUlOU19BTlkgb3BlcmF0b3JzLCBnb3QgJHtvcGVyYXRvcn1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSdW50aW1lQ3VzdG9tQ2xhaW0obmFtZSwgQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HX0FSUkFZLCBvcGVyYXRvciwgdmFsdWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZVR5cGU6IEN1c3RvbUNsYWltVmFsdWVUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlcmF0b3I6IEN1c3RvbUNsYWltT3BlcmF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sXG4gICkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHRoYXQgdmFsdWUgbWF0Y2hlcyB0aGUgdmFsdWVUeXBlXG4gICAgaWYgKHZhbHVlVHlwZSA9PT0gQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYEN1c3RvbSBjbGFpbSAnJHtuYW1lfSc6IFNUUklORyB0eXBlIHJlcXVpcmVzIGEgc3RyaW5nIHZhbHVlLCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZVR5cGUgPT09IEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklOR19BUlJBWSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoYEN1c3RvbSBjbGFpbSAnJHtuYW1lfSc6IFNUUklOR19BUlJBWSB0eXBlIHJlcXVpcmVzIGFuIGFycmF5IHZhbHVlLCBnb3QgJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgY3VzdG9tIGNsYWltIGFzIGEgQ2xvdWRGb3JtYXRpb24gcHJvcGVydHlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkN1c3RvbUNsYWltVmFsaWRhdGlvblR5cGVQcm9wZXJ0eSB7XG4gICAgLy8gQnVpbGQgdGhlIGNsYWltIG1hdGNoIHZhbHVlIGJhc2VkIG9uIG9wZXJhdG9yIGFuZCB2YWx1ZSB0eXBlXG4gICAgbGV0IGNsYWltTWF0Y2hWYWx1ZTogQ2ZuUnVudGltZS5DbGFpbU1hdGNoVmFsdWVUeXBlUHJvcGVydHk7XG4gICAgaWYgKHRoaXMudmFsdWVUeXBlID09PSBDdXN0b21DbGFpbVZhbHVlVHlwZS5TVFJJTkcpIHtcbiAgICAgIC8vIFNUUklORyB0eXBlIGFsd2F5cyB1c2VzIG1hdGNoVmFsdWVTdHJpbmcgd2l0aCBFUVVBTFMgb3BlcmF0b3JcbiAgICAgIGNsYWltTWF0Y2hWYWx1ZSA9IHtcbiAgICAgICAgbWF0Y2hWYWx1ZVN0cmluZzogdGhpcy52YWx1ZSBhcyBzdHJpbmcsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTVFJJTkdfQVJSQVkgdHlwZTogQ09OVEFJTlMgdXNlcyBtYXRjaFZhbHVlU3RyaW5nLCBDT05UQUlOU19BTlkgdXNlcyBtYXRjaFZhbHVlU3RyaW5nTGlzdFxuICAgICAgaWYgKHRoaXMub3BlcmF0b3IgPT09IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlMpIHtcbiAgICAgICAgLy8gQ09OVEFJTlMgcmVxdWlyZXMgYSBzaW5nbGUgc3RyaW5nIHZhbHVlIChjaGVjayBpZiBjbGFpbSBhcnJheSBjb250YWlucyB0aGlzIHN0cmluZylcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZSBhcyBzdHJpbmdbXTtcbiAgICAgICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWVzWzBdKSAmJiB2YWx1ZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAgIGBDdXN0b20gY2xhaW0gJyR7dGhpcy5uYW1lfSc6IENPTlRBSU5TIG9wZXJhdG9yIHJlcXVpcmVzIGV4YWN0bHkgb25lIHZhbHVlLCBnb3QgJHt2YWx1ZXMubGVuZ3RofSB2YWx1ZXNgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY2xhaW1NYXRjaFZhbHVlID0ge1xuICAgICAgICAgIG1hdGNoVmFsdWVTdHJpbmc6IHZhbHVlc1swXSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENPTlRBSU5TX0FOWSB1c2VzIG1hdGNoVmFsdWVTdHJpbmdMaXN0XG4gICAgICAgIGNsYWltTWF0Y2hWYWx1ZSA9IHtcbiAgICAgICAgICBtYXRjaFZhbHVlU3RyaW5nTGlzdDogdGhpcy52YWx1ZSBhcyBzdHJpbmdbXSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW5ib3VuZFRva2VuQ2xhaW1OYW1lOiB0aGlzLm5hbWUsXG4gICAgICBpbmJvdW5kVG9rZW5DbGFpbVZhbHVlVHlwZTogdGhpcy52YWx1ZVR5cGUsXG4gICAgICBhdXRob3JpemluZ0NsYWltTWF0Y2hWYWx1ZToge1xuICAgICAgICBjbGFpbU1hdGNoT3BlcmF0b3I6IHRoaXMub3BlcmF0b3IsXG4gICAgICAgIGNsYWltTWF0Y2hWYWx1ZTogY2xhaW1NYXRjaFZhbHVlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -10,9 +10,9 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
14
- import { IUserPool, IUserPoolClient } from 'aws-cdk-lib/aws-cognito';
15
- import { RuntimeCustomClaim } from './custom-claim';
13
+ import type { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
14
+ import type { IUserPool, IUserPoolClient } from 'aws-cdk-lib/aws-cognito';
15
+ import type { RuntimeCustomClaim } from './custom-claim';
16
16
  /**
17
17
  * Abstract base class for runtime authorizer configurations.
18
18
  * Provides static factory methods to create different authentication types.
@@ -21,7 +21,7 @@ const validation_helpers_1 = require("../validation-helpers");
21
21
  * Provides static factory methods to create different authentication types.
22
22
  */
23
23
  class RuntimeAuthorizerConfiguration {
24
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeAuthorizerConfiguration", version: "2.237.1-alpha.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeAuthorizerConfiguration", version: "2.239.0-alpha.0" };
25
25
  /**
26
26
  * Use IAM authentication (default).
27
27
  * Requires AWS credentials to sign requests using SigV4.
@@ -180,4 +180,4 @@ class OAuthAuthorizerConfiguration extends RuntimeAuthorizerConfiguration {
180
180
  };
181
181
  }
182
182
  }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hdXRob3JpemVyLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW50aW1lLWF1dGhvcml6ZXItY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFHcEMsOERBQXdEO0FBR3hEOzs7R0FHRztBQUNILE1BQXNCLDhCQUE4Qjs7SUFDbEQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztLQUN6QztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUNwQixZQUFvQixFQUNwQixjQUF5QixFQUN6QixlQUEwQixFQUMxQixhQUF3QixFQUN4QixZQUFtQztRQUVuQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQztZQUNyRyxNQUFNLElBQUksb0NBQWUsQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFDRCxPQUFPLElBQUksMEJBQTBCLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ25IO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLFFBQW1CLEVBQ25CLGVBQWtDLEVBQ2xDLGVBQTBCLEVBQzFCLGFBQXdCLEVBQ3hCLFlBQW1DO1FBRW5DLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDcEg7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsWUFBb0IsRUFDcEIsUUFBZ0IsRUFDaEIs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LEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM5SDtTQUNGLENBQUM7S0FDSDtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLDRCQUE2QixTQUFRLDhCQUE4QjtJQUVwRDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTG5CLFlBQ21CLFlBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLGVBQTBCLEVBQzFCLGFBQXdCLEVBQ3hCLFlBQW1DO1FBRXBELEtBQUssRUFBRSxDQUFDO1FBTlMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7S0FHckQ7SUFFTSxPQUFPO1FBQ1oscURBQXFEO1FBQ3JELE9BQU87WUFDTCxtQkFBbUIsRUFBRTtnQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQzlIO1NBQ0YsQ0FBQztLQUNIO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmblJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgeyBJVXNlclBvb2wsIElVc2VyUG9vbENsaWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4uL3ZhbGlkYXRpb24taGVscGVycyc7XG5pbXBvcnQgeyBSdW50aW1lQ3VzdG9tQ2xhaW0gfSBmcm9tICcuL2N1c3RvbS1jbGFpbSc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgcnVudGltZSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb25zLlxuICogUHJvdmlkZXMgc3RhdGljIGZhY3RvcnkgbWV0aG9kcyB0byBjcmVhdGUgZGlmZmVyZW50IGF1dGhlbnRpY2F0aW9uIHR5cGVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFVzZSBJQU0gYXV0aGVudGljYXRpb24gKGRlZmF1bHQpLlxuICAgKiBSZXF1aXJlcyBBV1MgY3JlZGVudGlhbHMgdG8gc2lnbiByZXF1ZXN0cyB1c2luZyBTaWdWNC5cbiAgICpcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBJQU0gYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdJQU0oKTogUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IElhbUF1dGhvcml6ZXJDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGN1c3RvbSBKV1QgYXV0aGVudGljYXRpb24uXG4gICAqIFZhbGlkYXRlcyBKV1QgdG9rZW5zIGFnYWluc3QgdGhlIHNwZWNpZmllZCBPSURDIHByb3ZpZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzY292ZXJ5VXJsIFRoZSBPSURDIGRpc2NvdmVyeSBVUkwgKG11c3QgZW5kIHdpdGggLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uKVxuICAgKiBAcGFyYW0gYWxsb3dlZENsaWVudHMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBjbGllbnQgSURzXG4gICAqIEBwYXJhbSBhbGxvd2VkQXVkaWVuY2UgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBhdWRpZW5jZXNcbiAgICogQHBhcmFtIGFsbG93ZWRTY29wZXMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBzY29wZXNcbiAgICogQHBhcmFtIGN1c3RvbUNsYWltcyBPcHRpb25hbCBhcnJheSBvZiBjdXN0b20gY2xhaW0gdmFsaWRhdGlvbnNcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBKV1QgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdKV1QoXG4gICAgZGlzY292ZXJ5VXJsOiBzdHJpbmcsXG4gICAgYWxsb3dlZENsaWVudHM/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgY3VzdG9tQ2xhaW1zPzogUnVudGltZUN1c3RvbUNsYWltW10sXG4gICk6IFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoZGlzY292ZXJ5VXJsKSAmJiAhZGlzY292ZXJ5VXJsLmVuZHNXaXRoKCcvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignSldUIGRpc2NvdmVyeSBVUkwgbXVzdCBlbmQgd2l0aCAvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBKd3RBdXRob3JpemVyQ29uZmlndXJhdGlvbihkaXNjb3ZlcnlVcmwsIGFsbG93ZWRDbGllbnRzLCBhbGxvd2VkQXVkaWVuY2UsIGFsbG93ZWRTY29wZXMsIGN1c3RvbUNsYWltcyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIEFXUyBDb2duaXRvIFVzZXIgUG9vbCBhdXRoZW50aWNhdGlvbi5cbiAgICogVmFsaWRhdGVzIENvZ25pdG8taXNzdWVkIEpXVCB0b2tlbnMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyUG9vbCBUaGUgQ29nbml0byBVc2VyIFBvb2xcbiAgICogQHBhcmFtIHVzZXJQb29sQ2xpZW50cyBUaGUgQ29nbml0byBVc2VyIFBvb2wgQXBwIENsaWVudHNcbiAgICogQHBhcmFtIGFsbG93ZWRBdWRpZW5jZSBPcHRpb25hbCBhcnJheSBvZiBhbGxvd2VkIGF1ZGllbmNlc1xuICAgKiBAcGFyYW0gYWxsb3dlZFNjb3BlcyBPcHRpb25hbCBhcnJheSBvZiBhbGxvd2VkIHNjb3Blc1xuICAgKiBAcGFyYW0gY3VzdG9tQ2xhaW1zIE9wdGlvbmFsIGFycmF5IG9mIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uc1xuICAgKiBAcmV0dXJucyBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdDb2duaXRvKFxuICAgIHVzZXJQb29sOiBJVXNlclBvb2wsXG4gICAgdXNlclBvb2xDbGllbnRzOiBJVXNlclBvb2xDbGllbnRbXSxcbiAgICBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgY3VzdG9tQ2xhaW1zPzogUnVudGltZUN1c3RvbUNsYWltW10sXG4gICk6IFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBDb2duaXRvQXV0aG9yaXplckNvbmZpZ3VyYXRpb24odXNlclBvb2wsIHVzZXJQb29sQ2xpZW50cywgYWxsb3dlZEF1ZGllbmNlLCBhbGxvd2VkU2NvcGVzLCBjdXN0b21DbGFpbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBPQXV0aCAyLjAgYXV0aGVudGljYXRpb24uXG4gICAqIFN1cHBvcnRzIHZhcmlvdXMgT0F1dGggcHJvdmlkZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzY292ZXJ5VXJsIFRoZSBPSURDIGRpc2NvdmVyeSBVUkwgKG11c3QgZW5kIHdpdGggLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uKVxuICAgKiBAcGFyYW0gY2xpZW50SWQgT0F1dGggY2xpZW50IElEXG4gICAqIEBwYXJhbSBhbGxvd2VkQXVkaWVuY2UgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBhdWRpZW5jZXNcbiAgICogQHBhcmFtIGFsbG93ZWRTY29wZXMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBzY29wZXNcbiAgICogQHBhcmFtIGN1c3RvbUNsYWltcyBPcHRpb25hbCBhcnJheSBvZiBjdXN0b20gY2xhaW0gdmFsaWRhdGlvbnNcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBPQXV0aCBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ09BdXRoKFxuICAgIGRpc2NvdmVyeVVybDogc3RyaW5nLFxuICAgIGNsaWVudElkOiBzdHJpbmcsXG4gICAgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgYWxsb3dlZFNjb3Blcz86IHN0cmluZ1tdLFxuICAgIGN1c3RvbUNsYWltcz86IFJ1bnRpbWVDdXN0b21DbGFpbVtdLFxuICApOiBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24ge1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGRpc2NvdmVyeVVybCkgJiYgIWRpc2NvdmVyeVVybC5lbmRzV2l0aCgnLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uJykpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ09BdXRoIGRpc2NvdmVyeSBVUkwgbXVzdCBlbmQgd2l0aCAvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPQXV0aEF1dGhvcml6ZXJDb25maWd1cmF0aW9uKGRpc2NvdmVyeVVybCwgY2xpZW50SWQsIGFsbG93ZWRBdWRpZW5jZSwgYWxsb3dlZFNjb3BlcywgY3VzdG9tQ2xhaW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlcigpOiBDZm5SdW50aW1lLkF1dGhvcml6ZXJDb25maWd1cmF0aW9uUHJvcGVydHkgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogSUFNIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBJYW1BdXRob3JpemVyQ29uZmlndXJhdGlvbiBleHRlbmRzIFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gIHB1YmxpYyBfcmVuZGVyKCk6IHVuZGVmaW5lZCB7XG4gICAgLy8gRm9yIElBTSBhdXRoZW50aWNhdGlvbiwgcmV0dXJuIHVuZGVmaW5lZCB0byBsZXQgQVdTIHNlcnZpY2UgdXNlIGRlZmF1bHRcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogSldUIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBKd3RBdXRob3JpemVyQ29uZmlndXJhdGlvbiBleHRlbmRzIFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzY292ZXJ5VXJsOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkQ2xpZW50cz86IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21DbGFpbXM/OiBSdW50aW1lQ3VzdG9tQ2xhaW1bXSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQXV0aG9yaXplckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbUp3dEF1dGhvcml6ZXI6IHtcbiAgICAgICAgZGlzY292ZXJ5VXJsOiB0aGlzLmRpc2NvdmVyeVVybCxcbiAgICAgICAgYWxsb3dlZENsaWVudHM6IHRoaXMuYWxsb3dlZENsaWVudHMsXG4gICAgICAgIGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UsXG4gICAgICAgIGFsbG93ZWRTY29wZXM6IHRoaXMuYWxsb3dlZFNjb3BlcyxcbiAgICAgICAgY3VzdG9tQ2xhaW1zOiB0aGlzLmN1c3RvbUNsYWltcyAmJiB0aGlzLmN1c3RvbUNsYWltcy5sZW5ndGggPiAwID8gdGhpcy5jdXN0b21DbGFpbXMubWFwKGNsYWltID0+IGNsYWltLl9yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDb2duaXRvIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBDb2duaXRvQXV0aG9yaXplckNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2wsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUG9vbENsaWVudHM6IElVc2VyUG9vbENsaWVudFtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21DbGFpbXM/OiBSdW50aW1lQ3VzdG9tQ2xhaW1bXSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQXV0aG9yaXplckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgY29uc3QgZGlzY292ZXJ5VXJsID0gYGh0dHBzOi8vY29nbml0by1pZHAuJHt0aGlzLnVzZXJQb29sLmVudi5yZWdpb259LmFtYXpvbmF3cy5jb20vJHt0aGlzLnVzZXJQb29sLnVzZXJQb29sSWR9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgIC8vIFVzZSBKV1QgZm9ybWF0IGZvciBDb2duaXRvIChDbG91ZEZvcm1hdGlvbiBleHBlY3RzIEpXVCBmb3JtYXQpXG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbUp3dEF1dGhvcml6ZXI6IHtcbiAgICAgICAgZGlzY292ZXJ5VXJsOiBkaXNjb3ZlcnlVcmwsXG4gICAgICAgIGFsbG93ZWRDbGllbnRzOiB0aGlzLnVzZXJQb29sQ2xpZW50cy5tYXAoY2xpZW50ID0+IGNsaWVudC51c2VyUG9vbENsaWVudElkKSxcbiAgICAgICAgYWxsb3dlZEF1ZGllbmNlOiB0aGlzLmFsbG93ZWRBdWRpZW5jZSxcbiAgICAgICAgYWxsb3dlZFNjb3BlczogdGhpcy5hbGxvd2VkU2NvcGVzLFxuICAgICAgICBjdXN0b21DbGFpbXM6IHRoaXMuY3VzdG9tQ2xhaW1zICYmIHRoaXMuY3VzdG9tQ2xhaW1zLmxlbmd0aCA+IDAgPyB0aGlzLmN1c3RvbUNsYWltcy5tYXAoY2xhaW0gPT4gY2xhaW0uX3JlbmRlcigpKSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE9BdXRoIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBPQXV0aEF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGV4dGVuZHMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNjb3ZlcnlVcmw6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsaWVudElkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbG93ZWRTY29wZXM/OiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUNsYWltcz86IFJ1bnRpbWVDdXN0b21DbGFpbVtdLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BdXRob3JpemVyQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICAvLyBPQXV0aCBpcyBhbHNvIHJlcHJlc2VudGVkIGFzIEpXVCBpbiBDbG91ZEZvcm1hdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21Kd3RBdXRob3JpemVyOiB7XG4gICAgICAgIGRpc2NvdmVyeVVybDogdGhpcy5kaXNjb3ZlcnlVcmwsXG4gICAgICAgIGFsbG93ZWRDbGllbnRzOiBbdGhpcy5jbGllbnRJZF0sXG4gICAgICAgIGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UsXG4gICAgICAgIGFsbG93ZWRTY29wZXM6IHRoaXMuYWxsb3dlZFNjb3BlcyxcbiAgICAgICAgY3VzdG9tQ2xhaW1zOiB0aGlzLmN1c3RvbUNsYWltcyAmJiB0aGlzLmN1c3RvbUNsYWltcy5sZW5ndGggPiAwID8gdGhpcy5jdXN0b21DbGFpbXMubWFwKGNsYWltID0+IGNsYWltLl9yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hdXRob3JpemVyLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW50aW1lLWF1dGhvcml6ZXItY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFHcEMsOERBQXdEO0FBR3hEOzs7R0FHRztBQUNILE1BQXNCLDhCQUE4Qjs7SUFDbEQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsUUFBUTtRQUNwQixPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztLQUN6QztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUNwQixZQUFvQixFQUNwQixjQUF5QixFQUN6QixlQUEwQixFQUMxQixhQUF3QixFQUN4QixZQUFtQztRQUVuQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxDQUFDLEVBQUUsQ0FBQztZQUNyRyxNQUFNLElBQUksb0NBQWUsQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFDRCxPQUFPLElBQUksMEJBQTBCLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ25IO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLFFBQW1CLEVBQ25CLGVBQWtDLEVBQ2xDLGVBQTBCLEVBQzFCLGFBQXdCLEVBQ3hCLFlBQW1DO1FBRW5DLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDcEg7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsWUFBb0IsRUFDcEIsUUFBZ0IsRUFDaEIs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LEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM5SDtTQUNGLENBQUM7S0FDSDtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLDRCQUE2QixTQUFRLDhCQUE4QjtJQUVwRDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTG5CLFlBQ21CLFlBQW9CLEVBQ3BCLFFBQWdCLEVBQ2hCLGVBQTBCLEVBQzFCLGFBQXdCLEVBQ3hCLFlBQW1DO1FBRXBELEtBQUssRUFBRSxDQUFDO1FBTlMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBVztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBdUI7S0FHckQ7SUFFTSxPQUFPO1FBQ1oscURBQXFEO1FBQ3JELE9BQU87WUFDTCxtQkFBbUIsRUFBRTtnQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQ3JDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQzlIO1NBQ0YsQ0FBQztLQUNIO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgQ2ZuUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlIHsgSVVzZXJQb29sLCBJVXNlclBvb2xDbGllbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29nbml0byc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lQ3VzdG9tQ2xhaW0gfSBmcm9tICcuL2N1c3RvbS1jbGFpbSc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgcnVudGltZSBhdXRob3JpemVyIGNvbmZpZ3VyYXRpb25zLlxuICogUHJvdmlkZXMgc3RhdGljIGZhY3RvcnkgbWV0aG9kcyB0byBjcmVhdGUgZGlmZmVyZW50IGF1dGhlbnRpY2F0aW9uIHR5cGVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFVzZSBJQU0gYXV0aGVudGljYXRpb24gKGRlZmF1bHQpLlxuICAgKiBSZXF1aXJlcyBBV1MgY3JlZGVudGlhbHMgdG8gc2lnbiByZXF1ZXN0cyB1c2luZyBTaWdWNC5cbiAgICpcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBJQU0gYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdJQU0oKTogUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IElhbUF1dGhvcml6ZXJDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIGN1c3RvbSBKV1QgYXV0aGVudGljYXRpb24uXG4gICAqIFZhbGlkYXRlcyBKV1QgdG9rZW5zIGFnYWluc3QgdGhlIHNwZWNpZmllZCBPSURDIHByb3ZpZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzY292ZXJ5VXJsIFRoZSBPSURDIGRpc2NvdmVyeSBVUkwgKG11c3QgZW5kIHdpdGggLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uKVxuICAgKiBAcGFyYW0gYWxsb3dlZENsaWVudHMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBjbGllbnQgSURzXG4gICAqIEBwYXJhbSBhbGxvd2VkQXVkaWVuY2UgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBhdWRpZW5jZXNcbiAgICogQHBhcmFtIGFsbG93ZWRTY29wZXMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBzY29wZXNcbiAgICogQHBhcmFtIGN1c3RvbUNsYWltcyBPcHRpb25hbCBhcnJheSBvZiBjdXN0b20gY2xhaW0gdmFsaWRhdGlvbnNcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBKV1QgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdKV1QoXG4gICAgZGlzY292ZXJ5VXJsOiBzdHJpbmcsXG4gICAgYWxsb3dlZENsaWVudHM/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgY3VzdG9tQ2xhaW1zPzogUnVudGltZUN1c3RvbUNsYWltW10sXG4gICk6IFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoZGlzY292ZXJ5VXJsKSAmJiAhZGlzY292ZXJ5VXJsLmVuZHNXaXRoKCcvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignSldUIGRpc2NvdmVyeSBVUkwgbXVzdCBlbmQgd2l0aCAvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBKd3RBdXRob3JpemVyQ29uZmlndXJhdGlvbihkaXNjb3ZlcnlVcmwsIGFsbG93ZWRDbGllbnRzLCBhbGxvd2VkQXVkaWVuY2UsIGFsbG93ZWRTY29wZXMsIGN1c3RvbUNsYWltcyk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIEFXUyBDb2duaXRvIFVzZXIgUG9vbCBhdXRoZW50aWNhdGlvbi5cbiAgICogVmFsaWRhdGVzIENvZ25pdG8taXNzdWVkIEpXVCB0b2tlbnMuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyUG9vbCBUaGUgQ29nbml0byBVc2VyIFBvb2xcbiAgICogQHBhcmFtIHVzZXJQb29sQ2xpZW50cyBUaGUgQ29nbml0byBVc2VyIFBvb2wgQXBwIENsaWVudHNcbiAgICogQHBhcmFtIGFsbG93ZWRBdWRpZW5jZSBPcHRpb25hbCBhcnJheSBvZiBhbGxvd2VkIGF1ZGllbmNlc1xuICAgKiBAcGFyYW0gYWxsb3dlZFNjb3BlcyBPcHRpb25hbCBhcnJheSBvZiBhbGxvd2VkIHNjb3Blc1xuICAgKiBAcGFyYW0gY3VzdG9tQ2xhaW1zIE9wdGlvbmFsIGFycmF5IG9mIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uc1xuICAgKiBAcmV0dXJucyBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNpbmdDb2duaXRvKFxuICAgIHVzZXJQb29sOiBJVXNlclBvb2wsXG4gICAgdXNlclBvb2xDbGllbnRzOiBJVXNlclBvb2xDbGllbnRbXSxcbiAgICBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgY3VzdG9tQ2xhaW1zPzogUnVudGltZUN1c3RvbUNsYWltW10sXG4gICk6IFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBDb2duaXRvQXV0aG9yaXplckNvbmZpZ3VyYXRpb24odXNlclBvb2wsIHVzZXJQb29sQ2xpZW50cywgYWxsb3dlZEF1ZGllbmNlLCBhbGxvd2VkU2NvcGVzLCBjdXN0b21DbGFpbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBPQXV0aCAyLjAgYXV0aGVudGljYXRpb24uXG4gICAqIFN1cHBvcnRzIHZhcmlvdXMgT0F1dGggcHJvdmlkZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gZGlzY292ZXJ5VXJsIFRoZSBPSURDIGRpc2NvdmVyeSBVUkwgKG11c3QgZW5kIHdpdGggLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uKVxuICAgKiBAcGFyYW0gY2xpZW50SWQgT0F1dGggY2xpZW50IElEXG4gICAqIEBwYXJhbSBhbGxvd2VkQXVkaWVuY2UgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBhdWRpZW5jZXNcbiAgICogQHBhcmFtIGFsbG93ZWRTY29wZXMgT3B0aW9uYWwgYXJyYXkgb2YgYWxsb3dlZCBzY29wZXNcbiAgICogQHBhcmFtIGN1c3RvbUNsYWltcyBPcHRpb25hbCBhcnJheSBvZiBjdXN0b20gY2xhaW0gdmFsaWRhdGlvbnNcbiAgICogQHJldHVybnMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGZvciBPQXV0aCBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2luZ09BdXRoKFxuICAgIGRpc2NvdmVyeVVybDogc3RyaW5nLFxuICAgIGNsaWVudElkOiBzdHJpbmcsXG4gICAgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgYWxsb3dlZFNjb3Blcz86IHN0cmluZ1tdLFxuICAgIGN1c3RvbUNsYWltcz86IFJ1bnRpbWVDdXN0b21DbGFpbVtdLFxuICApOiBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24ge1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGRpc2NvdmVyeVVybCkgJiYgIWRpc2NvdmVyeVVybC5lbmRzV2l0aCgnLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uJykpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoJ09BdXRoIGRpc2NvdmVyeSBVUkwgbXVzdCBlbmQgd2l0aCAvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBPQXV0aEF1dGhvcml6ZXJDb25maWd1cmF0aW9uKGRpc2NvdmVyeVVybCwgY2xpZW50SWQsIGFsbG93ZWRBdWRpZW5jZSwgYWxsb3dlZFNjb3BlcywgY3VzdG9tQ2xhaW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlcigpOiBDZm5SdW50aW1lLkF1dGhvcml6ZXJDb25maWd1cmF0aW9uUHJvcGVydHkgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogSUFNIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBJYW1BdXRob3JpemVyQ29uZmlndXJhdGlvbiBleHRlbmRzIFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gIHB1YmxpYyBfcmVuZGVyKCk6IHVuZGVmaW5lZCB7XG4gICAgLy8gRm9yIElBTSBhdXRoZW50aWNhdGlvbiwgcmV0dXJuIHVuZGVmaW5lZCB0byBsZXQgQVdTIHNlcnZpY2UgdXNlIGRlZmF1bHRcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogSldUIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBKd3RBdXRob3JpemVyQ29uZmlndXJhdGlvbiBleHRlbmRzIFJ1bnRpbWVBdXRob3JpemVyQ29uZmlndXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzY292ZXJ5VXJsOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkQ2xpZW50cz86IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21DbGFpbXM/OiBSdW50aW1lQ3VzdG9tQ2xhaW1bXSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQXV0aG9yaXplckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbUp3dEF1dGhvcml6ZXI6IHtcbiAgICAgICAgZGlzY292ZXJ5VXJsOiB0aGlzLmRpc2NvdmVyeVVybCxcbiAgICAgICAgYWxsb3dlZENsaWVudHM6IHRoaXMuYWxsb3dlZENsaWVudHMsXG4gICAgICAgIGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UsXG4gICAgICAgIGFsbG93ZWRTY29wZXM6IHRoaXMuYWxsb3dlZFNjb3BlcyxcbiAgICAgICAgY3VzdG9tQ2xhaW1zOiB0aGlzLmN1c3RvbUNsYWltcyAmJiB0aGlzLmN1c3RvbUNsYWltcy5sZW5ndGggPiAwID8gdGhpcy5jdXN0b21DbGFpbXMubWFwKGNsYWltID0+IGNsYWltLl9yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDb2duaXRvIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBDb2duaXRvQXV0aG9yaXplckNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBSdW50aW1lQXV0aG9yaXplckNvbmZpZ3VyYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2wsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyUG9vbENsaWVudHM6IElVc2VyUG9vbENsaWVudFtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsb3dlZEF1ZGllbmNlPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkU2NvcGVzPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjdXN0b21DbGFpbXM/OiBSdW50aW1lQ3VzdG9tQ2xhaW1bXSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQXV0aG9yaXplckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB7XG4gICAgY29uc3QgZGlzY292ZXJ5VXJsID0gYGh0dHBzOi8vY29nbml0by1pZHAuJHt0aGlzLnVzZXJQb29sLmVudi5yZWdpb259LmFtYXpvbmF3cy5jb20vJHt0aGlzLnVzZXJQb29sLnVzZXJQb29sSWR9Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uYDtcblxuICAgIC8vIFVzZSBKV1QgZm9ybWF0IGZvciBDb2duaXRvIChDbG91ZEZvcm1hdGlvbiBleHBlY3RzIEpXVCBmb3JtYXQpXG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbUp3dEF1dGhvcml6ZXI6IHtcbiAgICAgICAgZGlzY292ZXJ5VXJsOiBkaXNjb3ZlcnlVcmwsXG4gICAgICAgIGFsbG93ZWRDbGllbnRzOiB0aGlzLnVzZXJQb29sQ2xpZW50cy5tYXAoY2xpZW50ID0+IGNsaWVudC51c2VyUG9vbENsaWVudElkKSxcbiAgICAgICAgYWxsb3dlZEF1ZGllbmNlOiB0aGlzLmFsbG93ZWRBdWRpZW5jZSxcbiAgICAgICAgYWxsb3dlZFNjb3BlczogdGhpcy5hbGxvd2VkU2NvcGVzLFxuICAgICAgICBjdXN0b21DbGFpbXM6IHRoaXMuY3VzdG9tQ2xhaW1zICYmIHRoaXMuY3VzdG9tQ2xhaW1zLmxlbmd0aCA+IDAgPyB0aGlzLmN1c3RvbUNsYWltcy5tYXAoY2xhaW0gPT4gY2xhaW0uX3JlbmRlcigpKSA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE9BdXRoIGF1dGhvcml6ZXIgY29uZmlndXJhdGlvblxuICovXG5jbGFzcyBPQXV0aEF1dGhvcml6ZXJDb25maWd1cmF0aW9uIGV4dGVuZHMgUnVudGltZUF1dGhvcml6ZXJDb25maWd1cmF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNjb3ZlcnlVcmw6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsaWVudElkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxvd2VkQXVkaWVuY2U/OiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsbG93ZWRTY29wZXM/OiBzdHJpbmdbXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1c3RvbUNsYWltcz86IFJ1bnRpbWVDdXN0b21DbGFpbVtdLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BdXRob3JpemVyQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICAvLyBPQXV0aCBpcyBhbHNvIHJlcHJlc2VudGVkIGFzIEpXVCBpbiBDbG91ZEZvcm1hdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21Kd3RBdXRob3JpemVyOiB7XG4gICAgICAgIGRpc2NvdmVyeVVybDogdGhpcy5kaXNjb3ZlcnlVcmwsXG4gICAgICAgIGFsbG93ZWRDbGllbnRzOiBbdGhpcy5jbGllbnRJZF0sXG4gICAgICAgIGFsbG93ZWRBdWRpZW5jZTogdGhpcy5hbGxvd2VkQXVkaWVuY2UsXG4gICAgICAgIGFsbG93ZWRTY29wZXM6IHRoaXMuYWxsb3dlZFNjb3BlcyxcbiAgICAgICAgY3VzdG9tQ2xhaW1zOiB0aGlzLmN1c3RvbUNsYWltcyAmJiB0aGlzLmN1c3RvbUNsYWltcy5sZW5ndGggPiAwID8gdGhpcy5jdXN0b21DbGFpbXMubWFwKGNsYWltID0+IGNsYWltLl9yZW5kZXIoKSkgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -10,12 +10,13 @@
10
10
  * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
11
  * and limitations under the License.
12
12
  */
13
- import { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
14
- import * as ecr from 'aws-cdk-lib/aws-ecr';
13
+ import type { CfnRuntime } from 'aws-cdk-lib/aws-bedrockagentcore';
14
+ import type * as ecr from 'aws-cdk-lib/aws-ecr';
15
15
  import * as assets from 'aws-cdk-lib/aws-ecr-assets';
16
16
  import * as s3 from 'aws-cdk-lib/aws-s3';
17
- import { Construct } from 'constructs';
18
- import { Runtime } from './runtime';
17
+ import * as s3_assets from 'aws-cdk-lib/aws-s3-assets';
18
+ import type { Construct } from 'constructs';
19
+ import type { Runtime } from './runtime';
19
20
  /**
20
21
  * Bedrock AgentCore runtime environment for code execution
21
22
  * Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13
@@ -38,6 +39,23 @@ export declare enum AgentCoreRuntime {
38
39
  */
39
40
  PYTHON_3_13 = "PYTHON_3_13"
40
41
  }
42
+ /**
43
+ * Options for configuring an S3 code asset from local files for agent runtime artifact
44
+ */
45
+ export interface CodeAssetOptions extends s3_assets.AssetOptions {
46
+ /**
47
+ * The file path to the code asset
48
+ */
49
+ readonly path: string;
50
+ /**
51
+ * The runtime environment for executing the code
52
+ */
53
+ readonly runtime: AgentCoreRuntime;
54
+ /**
55
+ * The entry point for the code execution, specifying the function or method that should be invoked when the code runs
56
+ */
57
+ readonly entrypoint: string[];
58
+ }
41
59
  /**
42
60
  * Abstract base class for agent runtime artifacts.
43
61
  * Provides methods to reference container images from ECR repositories or local assets.
@@ -60,6 +78,11 @@ export declare abstract class AgentRuntimeArtifact {
60
78
  * @param entrypoint The entry point for the code execution, specifying the function or method that should be invoked when the code runs.
61
79
  */
62
80
  static fromS3(s3Location: s3.Location, runtime: AgentCoreRuntime, entrypoint: string[]): AgentRuntimeArtifact;
81
+ /**
82
+ * Reference an agent runtime artifact that's constructed from local code assets uploaded to a CDK-managed S3 bucket
83
+ * @param options The options for configuring the code asset
84
+ */
85
+ static fromCodeAsset(options: CodeAssetOptions): AgentRuntimeArtifact;
63
86
  /**
64
87
  * Reference an image using an ECR container URI
65
88
  *