@aws-cdk/aws-bedrock-agentcore-alpha 2.237.0-alpha.0 → 2.238.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.
- package/.jsii +908 -789
- package/.jsii.tabl.json.gz +0 -0
- package/lib/gateway/gateway-base.d.ts +14 -7
- package/lib/gateway/gateway-base.js +13 -4
- package/lib/gateway/gateway.d.ts +11 -10
- package/lib/gateway/gateway.js +2 -3
- package/lib/gateway/inbound-auth/authorizer.d.ts +2 -2
- package/lib/gateway/inbound-auth/authorizer.js +4 -4
- package/lib/gateway/inbound-auth/custom-claim.d.ts +1 -1
- package/lib/gateway/inbound-auth/custom-claim.js +2 -2
- package/lib/gateway/interceptor.d.ts +3 -3
- package/lib/gateway/interceptor.js +2 -2
- package/lib/gateway/outbound-auth/api-key.d.ts +4 -2
- package/lib/gateway/outbound-auth/api-key.js +2 -2
- package/lib/gateway/outbound-auth/credential-provider.d.ts +5 -5
- package/lib/gateway/outbound-auth/credential-provider.js +2 -2
- package/lib/gateway/outbound-auth/iam-role.d.ts +3 -2
- package/lib/gateway/outbound-auth/iam-role.js +1 -1
- package/lib/gateway/outbound-auth/oauth.d.ts +4 -2
- package/lib/gateway/outbound-auth/oauth.js +1 -1
- package/lib/gateway/protocol.d.ts +1 -1
- package/lib/gateway/protocol.js +3 -3
- package/lib/gateway/targets/schema/api-schema.d.ts +3 -3
- package/lib/gateway/targets/schema/api-schema.js +5 -5
- package/lib/gateway/targets/schema/base-schema.d.ts +2 -2
- package/lib/gateway/targets/schema/base-schema.js +1 -1
- package/lib/gateway/targets/schema/tool-schema.d.ts +3 -3
- package/lib/gateway/targets/schema/tool-schema.js +5 -5
- package/lib/gateway/targets/target-base.d.ts +10 -4
- package/lib/gateway/targets/target-base.js +11 -2
- package/lib/gateway/targets/target-configuration.d.ts +5 -5
- package/lib/gateway/targets/target-configuration.js +6 -6
- package/lib/gateway/targets/target.d.ts +9 -8
- package/lib/gateway/targets/target.js +2 -2
- package/lib/memory/memory-strategy.d.ts +6 -4
- package/lib/memory/memory-strategy.js +2 -3
- package/lib/memory/memory.d.ts +12 -5
- package/lib/memory/memory.js +13 -17
- package/lib/memory/strategies/managed-strategy.d.ts +5 -4
- package/lib/memory/strategies/managed-strategy.js +2 -2
- package/lib/memory/strategies/self-managed-strategy.d.ts +4 -4
- package/lib/memory/strategies/self-managed-strategy.js +2 -2
- package/lib/memory/validation-helpers.d.ts +1 -1
- package/lib/memory/validation-helpers.js +1 -1
- package/lib/network/network-configuration.d.ts +2 -2
- package/lib/network/network-configuration.js +5 -5
- package/lib/runtime/inbound-auth/custom-claim.d.ts +1 -1
- package/lib/runtime/inbound-auth/custom-claim.js +2 -2
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.d.ts +3 -3
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +2 -2
- package/lib/runtime/runtime-artifact.d.ts +4 -4
- package/lib/runtime/runtime-artifact.js +2 -2
- package/lib/runtime/runtime-base.d.ts +12 -5
- package/lib/runtime/runtime-base.js +15 -18
- package/lib/runtime/runtime-endpoint-base.d.ts +9 -3
- package/lib/runtime/runtime-endpoint-base.js +10 -14
- package/lib/runtime/runtime-endpoint.d.ts +3 -2
- package/lib/runtime/runtime-endpoint.js +2 -2
- package/lib/runtime/runtime.d.ts +7 -5
- package/lib/runtime/runtime.js +2 -2
- package/lib/runtime/types.d.ts +1 -1
- package/lib/runtime/types.js +1 -1
- package/lib/tools/browser.d.ts +12 -5
- package/lib/tools/browser.js +14 -5
- package/lib/tools/code-interpreter.d.ts +11 -4
- package/lib/tools/code-interpreter.js +14 -5
- package/package.json +9 -9
|
@@ -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.
|
|
24
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeAuthorizerConfiguration", version: "2.238.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,12 @@
|
|
|
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 type { Construct } from 'constructs';
|
|
18
|
+
import type { Runtime } from './runtime';
|
|
19
19
|
/**
|
|
20
20
|
* Bedrock AgentCore runtime environment for code execution
|
|
21
21
|
* Allowed values: PYTHON_3_10 | PYTHON_3_11 | PYTHON_3_12 | PYTHON_3_13
|
|
@@ -47,7 +47,7 @@ var AgentCoreRuntime;
|
|
|
47
47
|
* Provides methods to reference container images from ECR repositories or local assets.
|
|
48
48
|
*/
|
|
49
49
|
class AgentRuntimeArtifact {
|
|
50
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AgentRuntimeArtifact", version: "2.238.0-alpha.0" };
|
|
51
51
|
/**
|
|
52
52
|
* Reference an image in an ECR repository
|
|
53
53
|
*/
|
|
@@ -213,4 +213,4 @@ class ImageUriArtifact extends AgentRuntimeArtifact {
|
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBR3pDLDZEQUF1RDtBQUV2RDs7O0dBR0c7QUFDSCxJQUFZLGdCQWlCWDtBQWpCRCxXQUFZLGdCQUFnQjtJQUMxQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFqQlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFpQjNCO0FBRUQ7OztHQUdHO0FBQ0gsTUFBc0Isb0JBQW9COztJQUN4Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUEyQixFQUFFLE1BQWMsUUFBUTtRQUNqRixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0QztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQWlCLEVBQUUsVUFBMEMsRUFBRTtRQUNyRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUF1QixFQUFFLE9BQXlCLEVBQUUsVUFBb0I7Ozs7Ozs7Ozs7UUFDM0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFvQjtRQUM3QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7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LElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxvQ0FBZSxDQUN2QixxQ0FBcUMsWUFBWSxtRkFBbUYsQ0FDckksQ0FBQztRQUNKLENBQUM7S0FDRjtJQUVNLElBQUksQ0FBQyxNQUFpQixFQUFFLFFBQWlCO0tBRy9DO0lBRU0sT0FBTztRQUNaLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDekIsQ0FBQztLQUNWO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTdGFjaywgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5SdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0ICogYXMgZWNyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3InO1xuaW1wb3J0ICogYXMgYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFJ1bnRpbWUgfSBmcm9tICcuL3J1bnRpbWUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKipcbiAqIEJlZHJvY2sgQWdlbnRDb3JlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGNvZGUgZXhlY3V0aW9uXG4gKiBBbGxvd2VkIHZhbHVlczogUFlUSE9OXzNfMTAgfCBQWVRIT05fM18xMSB8IFBZVEhPTl8zXzEyIHwgUFlUSE9OXzNfMTNcbiAqL1xuZXhwb3J0IGVudW0gQWdlbnRDb3JlUnVudGltZSB7XG4gIC8qKlxuICAgKiBQeXRob24gMy4xMCBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMCA9ICdQWVRIT05fM18xMCcsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMSBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMSA9ICdQWVRIT05fM18xMScsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMiBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMiA9ICdQWVRIT05fM18xMicsXG4gIC8qKlxuICAgKiBQeXRob24gMy4xMyBydW50aW1lXG4gICAqL1xuICBQWVRIT05fM18xMyA9ICdQWVRIT05fM18xMycsXG59XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgYWdlbnQgcnVudGltZSBhcnRpZmFjdHMuXG4gKiBQcm92aWRlcyBtZXRob2RzIHRvIHJlZmVyZW5jZSBjb250YWluZXIgaW1hZ2VzIGZyb20gRUNSIHJlcG9zaXRvcmllcyBvciBsb2NhbCBhc3NldHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgaW4gYW4gRUNSIHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjclJlcG9zaXRvcnkocmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCB0YWc6IHN0cmluZyA9ICdsYXRlc3QnKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgRWNySW1hZ2UocmVwb3NpdG9yeSwgdGFnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBzb3VyY2VzIG9uIGRpc2tcbiAgICogQHBhcmFtIGRpcmVjdG9yeSBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBmdXJ0aGVyIGNvbmZpZ3VyZSB0aGUgc2VsZWN0ZWQgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFzc2V0KGRpcmVjdG9yeTogc3RyaW5nLCBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSk6IEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgICByZXR1cm4gbmV3IEFzc2V0SW1hZ2UoZGlyZWN0b3J5LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gYWdlbnQgcnVudGltZSBhcnRpZmFjdCB0aGF0J3MgY29uc3RydWN0ZWQgZGlyZWN0bHkgZnJvbSBhbiBTMyBvYmplY3RcbiAgICogQHBhcmFtIHMzTG9jYXRpb24gVGhlIHNvdXJjZSBjb2RlIGxvY2F0aW9uIGFuZCBjb25maWd1cmF0aW9uIGRldGFpbHMuXG4gICAqIEBwYXJhbSBydW50aW1lIFRoZSBydW50aW1lIGVudmlyb25tZW50IGZvciBleGVjdXRpbmcgdGhlIGNvZGUuIEFsbG93ZWQgdmFsdWVzOiBQWVRIT05fM18xMCB8IFBZVEhPTl8zXzExIHwgUFlUSE9OXzNfMTIgfCBQWVRIT05fM18xM1xuICAgKiBAcGFyYW0gZW50cnlwb2ludCBUaGUgZW50cnkgcG9pbnQgZm9yIHRoZSBjb2RlIGV4ZWN1dGlvbiwgc3BlY2lmeWluZyB0aGUgZnVuY3Rpb24gb3IgbWV0aG9kIHRoYXQgc2hvdWxkIGJlIGludm9rZWQgd2hlbiB0aGUgY29kZSBydW5zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUzMoczNMb2NhdGlvbjogczMuTG9jYXRpb24sIHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWUsIGVudHJ5cG9pbnQ6IHN0cmluZ1tdKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgUzNJbWFnZShzM0xvY2F0aW9uLCBydW50aW1lLCBlbnRyeXBvaW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgYW4gaW1hZ2UgdXNpbmcgYW4gRUNSIGNvbnRhaW5lciBVUklcbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiByZWZlcmVuY2luZyBFQ1IgaW1hZ2VzIGZyb20gQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyBvciBjcm9zcy1zdGFjayByZWZlcmVuY2VzLlxuICAgKlxuICAgKiAqKk5vdGU6KiogTm8gSUFNIHBlcm1pc3Npb25zIGFyZSBhdXRvbWF0aWNhbGx5IGdyYW50ZWQuIFlvdSBtdXN0IGVuc3VyZSB0aGUgcnVudGltZSBoYXNcbiAgICogRUNSIHB1bGwgcGVybWlzc2lvbnMgZm9yIHRoZSByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyVXJpIFRoZSBFQ1IgY29udGFpbmVyIGltYWdlIFVSSSAoZm9ybWF0OiB7YWNjb3VudH0uZGtyLmVjci57cmVnaW9ufS5hbWF6b25hd3MuY29tL3tyZXBvc2l0b3J5fTp7dGFnfSlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUltYWdlVXJpKGNvbnRhaW5lclVyaTogc3RyaW5nKTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgSW1hZ2VVcmlBcnRpZmFjdChjb250YWluZXJVcmkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBpbWFnZSBpcyB1c2VkIGJ5IGEgUnVudGltZSB0byBoYW5kbGUgc2lkZSBlZmZlY3RzIGxpa2UgcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGFydGlmYWN0IGNvbmZpZ3VyYXRpb24gZm9yIENsb3VkRm9ybWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5O1xufVxuXG5jbGFzcyBFY3JJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBib3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVwb3NpdG9yeTogZWNyLklSZXBvc2l0b3J5LCBwcml2YXRlIHJlYWRvbmx5IHRhZzogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kICYmIHJ1bnRpbWUucm9sZSkge1xuICAgICAgdGhpcy5yZXBvc2l0b3J5LmdyYW50UHVsbChydW50aW1lLnJvbGUpO1xuICAgICAgdGhpcy5ib3VuZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuUnVudGltZS5BZ2VudFJ1bnRpbWVBcnRpZmFjdFByb3BlcnR5IHtcbiAgICAvLyBSZXR1cm4gY29udGFpbmVyIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgYXMgZXhwZWN0ZWQgYnkgdGhlIHJ1bnRpbWVcbiAgICAvLyBUaGUgcnVudGltZSB3cmFwcyB0aGlzIGluIGNvbnRhaW5lckNvbmZpZ3VyYXRpb25cbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyVXJpOiB0aGlzLnJlcG9zaXRvcnkucmVwb3NpdG9yeVVyaUZvclRhZyh0aGlzLnRhZyksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cblxuY2xhc3MgQXNzZXRJbWFnZSBleHRlbmRzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgcHJpdmF0ZSBhc3NldD86IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0O1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXJlY3Rvcnk6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBhc3NldHMuRG9ja2VySW1hZ2VBc3NldE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0LCBydW50aW1lOiBSdW50aW1lKTogdm9pZCB7XG4gICAgLy8gQ3JlYXRlIHRoZSBhc3NldCBpZiBub3QgYWxyZWFkeSBjcmVhdGVkXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0KHNjb3BlLCAnQWdlbnRSdW50aW1lQXJ0aWZhY3QnLCB7XG4gICAgICAgIGRpcmVjdG9yeTogdGhpcy5kaXJlY3RvcnksXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIChvbmx5IG9uY2UpXG4gICAgaWYgKCF0aGlzLmJvdW5kKSB7XG4gICAgICB0aGlzLmFzc2V0LnJlcG9zaXRvcnkuZ3JhbnRQdWxsKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignQXNzZXQgbm90IGluaXRpYWxpemVkLiBDYWxsIGJpbmQoKSBiZWZvcmUgX3JlbmRlcigpJyk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGNvbnRhaW5lciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IGFzIGV4cGVjdGVkIGJ5IHRoZSBydW50aW1lXG4gICAgLy8gVGhlIHJ1bnRpbWUgd3JhcHMgdGhpcyBpbiBjb250YWluZXJDb25maWd1cmF0aW9uXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5hc3NldC5pbWFnZVVyaSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBTM0ltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzM0xvY2F0aW9uOiBzMy5Mb2NhdGlvbiwgcHJpdmF0ZSByZWFkb25seSBydW50aW1lOiBBZ2VudENvcmVSdW50aW1lLCBwcml2YXRlIHJlYWRvbmx5IGVudHJ5cG9pbnQ6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSkpIHtcbiAgICAgICAgU3RhY2sub2Yoc2NvcGUpLnJlc29sdmUodGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUpO1xuICAgICAgfVxuICAgICAgY29uc3QgYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgYCR7dGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWV9Q29kZUFyY2hpdmVgLFxuICAgICAgICB0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICk7XG4gICAgICAvLyBFbnN1cmUgdGhlIHBvbGljeSBpcyBhcHBsaWVkIGJlZm9yZSB0aGUgYnJvd3NlciByZXNvdXJjZSBpcyBjcmVhdGVkXG4gICAgICBidWNrZXQuZ3JhbnRSZWFkKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIGNvbnN0IHMzQ29uZmlnOiBhbnkgPSB7XG4gICAgICBidWNrZXQ6IHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgcHJlZml4OiB0aGlzLnMzTG9jYXRpb24ub2JqZWN0S2V5LFxuICAgIH07XG4gICAgaWYgKHRoaXMuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uKSB7XG4gICAgICBzM0NvbmZpZy52ZXJzaW9uSWQgPSB0aGlzLnMzTG9jYXRpb24ub2JqZWN0VmVyc2lvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IHtcbiAgICAgICAgczM6IHMzQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIHJ1bnRpbWU6IHRoaXMucnVudGltZSxcbiAgICAgIGVudHJ5UG9pbnQ6IHRoaXMuZW50cnlwb2ludCxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBJbWFnZVVyaUFydGlmYWN0IGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lclVyaTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFZhbGlkYXRlIEVDUiBjb250YWluZXIgVVJJIGZvcm1hdCBwZXIgQ2xvdWRGb3JtYXRpb24gcmVxdWlyZW1lbnRzXG4gICAgY29uc3QgZWNyUGF0dGVybiA9IC9eXFxkezEyfVxcLmRrclxcLmVjclxcLihbYS16MC05LV0rKVxcLmFtYXpvbmF3c1xcLmNvbVxcLygoPzpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqXFwvKSpbYS16MC05XSsoPzpbLl8tXVthLXowLTldKykqKShbOkBdXFxTKykkLztcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjb250YWluZXJVcmkpICYmICFlY3JQYXR0ZXJuLnRlc3QoY29udGFpbmVyVXJpKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0OiAke2NvbnRhaW5lclVyaX0uIE11c3QgYmUgYW4gRUNSIFVSSToge2FjY291bnR9LmRrci5lY3Iue3JlZ2lvbn0uYW1hem9uYXdzLmNvbS97cmVwb3NpdG9yeX06e3RhZ31gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgX3J1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBObyBwZXJtaXNzaW9ucyBhcmUgZ3JhbnRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdXNpbmcgYSBkaXJlY3QgVVJJLlxuICAgIC8vIFVzZXJzIG11c3QgbWFuYWdlIEVDUiBwdWxsIHBlcm1pc3Npb25zIHNlcGFyYXRlbHkuXG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMuY29udGFpbmVyVXJpLFxuICAgIH0gYXMgYW55O1xuICB9XG59XG4iXX0=
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1hcnRpZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUtYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUEyQztBQUczQyxxREFBcUQ7QUFDckQseUNBQXlDO0FBR3pDLDZEQUF1RDtBQUV2RDs7O0dBR0c7QUFDSCxJQUFZLGdCQWlCWDtBQWpCRCxXQUFZLGdCQUFnQjtJQUMxQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsK0NBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILCtDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFqQlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFpQjNCO0FBRUQ7OztHQUdHO0FBQ0gsTUFBc0Isb0JBQW9COztJQUN4Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUEyQixFQUFFLE1BQWMsUUFBUTtRQUNqRixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUN0QztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQWlCLEVBQUUsVUFBMEMsRUFBRTtRQUNyRixPQUFPLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUF1QixFQUFFLE9BQXlCLEVBQUUsVUFBb0I7Ozs7Ozs7Ozs7UUFDM0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFvQjtRQUM3QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDM0M7O0FBdkNILG9EQW1EQztBQUVELE1BQU0sUUFBUyxTQUFRLG9CQUFvQjtJQUdaO0lBQThDO0lBRm5FLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEIsWUFBNkIsVUFBMkIsRUFBbUIsR0FBVztRQUNwRixLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFRO0tBRXJGO0lBRU0sSUFBSSxDQUFDLE1BQWlCLEVBQUUsT0FBZ0I7UUFDN0MsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztLQUNGO0lBRU0sT0FBTztRQUNaLHFFQUFxRTtRQUNyRSxtREFBbUQ7UUFDbkQsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDckQsQ0FBQztLQUNWO0NBQ0Y7QUFFRCxNQUFNLFVBQVcsU0FBUSxvQkFBb0I7SUFJZDtJQUFvQztJQUh6RCxLQUFLLENBQTJCO0lBQ2hDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFdEIsWUFBNkIsU0FBaUIsRUFBbUIsVUFBMEMsRUFBRTtRQUMzRyxLQUFLLEVBQUUsQ0FBQztRQURtQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQXFDO0tBRTVHO0lBRU0sSUFBSSxDQUFDLEtBQWdCLEVBQUUsT0FBZ0I7UUFDNUMsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLEVBQUU7Z0JBQ3RFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO0tBQ0Y7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksb0NBQWUsQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFFRCxxRUFBcUU7UUFDckUsbURBQW1EO1FBQ25ELE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQzNCLENBQUM7S0FDVjtDQUNGO0FBRUQsTUFBTSxPQUFRLFNBQVEsb0JBQW9CO0lBR1g7SUFBMEM7SUFBNEM7SUFGM0csS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUE2QixVQUF1QixFQUFtQixPQUF5QixFQUFtQixVQUFvQjtRQUNySSxLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQVU7S0FFdEk7SUFFTSxJQUFJLENBQUMsS0FBZ0IsRUFBRSxPQUFnQjtRQUM1QyxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FDckMsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLGFBQWEsRUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQzNCLENBQUM7WUFDRixzRUFBc0U7WUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztLQUNGO0lBRU0sT0FBTztRQUNaLE1BQU0sUUFBUSxHQUFRO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztTQUNsQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLFFBQVE7YUFDYjtZQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDckIsQ0FBQztLQUNWO0NBQ0Y7QUFFRCxNQUFNLGdCQUFpQixTQUFRLG9CQUFvQjtJQUNwQjtJQUE3QixZQUE2QixZQUFvQjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUcvQyxvRUFBb0U7UUFDcEUsTUFBTSxVQUFVLEdBQUcsOEhBQThILENBQUM7UUFDbEosSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE1BQU0sSUFBSSxvQ0FBZSxDQUN2QixxQ0FBcUMsWUFBWSxtRkFBbUYsQ0FDckksQ0FBQztRQUNKLENBQUM7S0FDRjtJQUVNLElBQUksQ0FBQyxNQUFpQixFQUFFLFFBQWlCO0tBRy9DO0lBRU0sT0FBTztRQUNaLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDekIsQ0FBQztLQUNWO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTdGFjaywgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IENmblJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgdHlwZSAqIGFzIGVjciBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyJztcbmltcG9ydCAqIGFzIGFzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgUnVudGltZSB9IGZyb20gJy4vcnVudGltZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL3ZhbGlkYXRpb24taGVscGVycyc7XG5cbi8qKlxuICogQmVkcm9jayBBZ2VudENvcmUgcnVudGltZSBlbnZpcm9ubWVudCBmb3IgY29kZSBleGVjdXRpb25cbiAqIEFsbG93ZWQgdmFsdWVzOiBQWVRIT05fM18xMCB8IFBZVEhPTl8zXzExIHwgUFlUSE9OXzNfMTIgfCBQWVRIT05fM18xM1xuICovXG5leHBvcnQgZW51bSBBZ2VudENvcmVSdW50aW1lIHtcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEwIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEwID0gJ1BZVEhPTl8zXzEwJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjExIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzExID0gJ1BZVEhPTl8zXzExJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEyIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEyID0gJ1BZVEhPTl8zXzEyJyxcbiAgLyoqXG4gICAqIFB5dGhvbiAzLjEzIHJ1bnRpbWVcbiAgICovXG4gIFBZVEhPTl8zXzEzID0gJ1BZVEhPTl8zXzEzJyxcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBhZ2VudCBydW50aW1lIGFydGlmYWN0cy5cbiAqIFByb3ZpZGVzIG1ldGhvZHMgdG8gcmVmZXJlbmNlIGNvbnRhaW5lciBpbWFnZXMgZnJvbSBFQ1IgcmVwb3NpdG9yaWVzIG9yIGxvY2FsIGFzc2V0cy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFnZW50UnVudGltZUFydGlmYWN0IHtcbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBpbWFnZSBpbiBhbiBFQ1IgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRWNyUmVwb3NpdG9yeShyZXBvc2l0b3J5OiBlY3IuSVJlcG9zaXRvcnksIHRhZzogc3RyaW5nID0gJ2xhdGVzdCcpOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBFY3JJbWFnZShyZXBvc2l0b3J5LCB0YWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBhZ2VudCBydW50aW1lIGFydGlmYWN0IHRoYXQncyBjb25zdHJ1Y3RlZCBkaXJlY3RseSBmcm9tIHNvdXJjZXMgb24gZGlza1xuICAgKiBAcGFyYW0gZGlyZWN0b3J5IFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIERvY2tlcmZpbGUgaXMgc3RvcmVkXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGZ1cnRoZXIgY29uZmlndXJlIHRoZSBzZWxlY3RlZCBpbWFnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXNzZXQoZGlyZWN0b3J5OiBzdHJpbmcsIG9wdGlvbnM6IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyA9IHt9KTogQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICAgIHJldHVybiBuZXcgQXNzZXRJbWFnZShkaXJlY3RvcnksIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBhZ2VudCBydW50aW1lIGFydGlmYWN0IHRoYXQncyBjb25zdHJ1Y3RlZCBkaXJlY3RseSBmcm9tIGFuIFMzIG9iamVjdFxuICAgKiBAcGFyYW0gczNMb2NhdGlvbiBUaGUgc291cmNlIGNvZGUgbG9jYXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gZGV0YWlscy5cbiAgICogQHBhcmFtIHJ1bnRpbWUgVGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIGV4ZWN1dGluZyB0aGUgY29kZS4gQWxsb3dlZCB2YWx1ZXM6IFBZVEhPTl8zXzEwIHwgUFlUSE9OXzNfMTEgfCBQWVRIT05fM18xMiB8IFBZVEhPTl8zXzEzXG4gICAqIEBwYXJhbSBlbnRyeXBvaW50IFRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIGNvZGUgZXhlY3V0aW9uLCBzcGVjaWZ5aW5nIHRoZSBmdW5jdGlvbiBvciBtZXRob2QgdGhhdCBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHRoZSBjb2RlIHJ1bnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TMyhzM0xvY2F0aW9uOiBzMy5Mb2NhdGlvbiwgcnVudGltZTogQWdlbnRDb3JlUnVudGltZSwgZW50cnlwb2ludDogc3RyaW5nW10pOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBTM0ltYWdlKHMzTG9jYXRpb24sIHJ1bnRpbWUsIGVudHJ5cG9pbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSBhbiBpbWFnZSB1c2luZyBhbiBFQ1IgY29udGFpbmVyIFVSSVxuICAgKlxuICAgKiBVc2UgdGhpcyB3aGVuIHJlZmVyZW5jaW5nIEVDUiBpbWFnZXMgZnJvbSBDbG91ZEZvcm1hdGlvbiBwYXJhbWV0ZXJzIG9yIGNyb3NzLXN0YWNrIHJlZmVyZW5jZXMuXG4gICAqXG4gICAqICoqTm90ZToqKiBObyBJQU0gcGVybWlzc2lvbnMgYXJlIGF1dG9tYXRpY2FsbHkgZ3JhbnRlZC4gWW91IG11c3QgZW5zdXJlIHRoZSBydW50aW1lIGhhc1xuICAgKiBFQ1IgcHVsbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJVcmkgVGhlIEVDUiBjb250YWluZXIgaW1hZ2UgVVJJIChmb3JtYXQ6IHthY2NvdW50fS5ka3IuZWNyLntyZWdpb259LmFtYXpvbmF3cy5jb20ve3JlcG9zaXRvcnl9Ont0YWd9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSW1hZ2VVcmkoY29udGFpbmVyVXJpOiBzdHJpbmcpOiBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZVVyaUFydGlmYWN0KGNvbnRhaW5lclVyaSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGltYWdlIGlzIHVzZWQgYnkgYSBSdW50aW1lIHRvIGhhbmRsZSBzaWRlIGVmZmVjdHMgbGlrZSBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgYXJ0aWZhY3QgY29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb25cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHk7XG59XG5cbmNsYXNzIEVjckltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGJvdW5kID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZXBvc2l0b3J5OiBlY3IuSVJlcG9zaXRvcnksIHByaXZhdGUgcmVhZG9ubHkgdGFnOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoX3Njb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQgJiYgcnVudGltZS5yb2xlKSB7XG4gICAgICB0aGlzLnJlcG9zaXRvcnkuZ3JhbnRQdWxsKHJ1bnRpbWUucm9sZSk7XG4gICAgICB0aGlzLmJvdW5kID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX3JlbmRlcigpOiBDZm5SdW50aW1lLkFnZW50UnVudGltZUFydGlmYWN0UHJvcGVydHkge1xuICAgIC8vIFJldHVybiBjb250YWluZXIgY29uZmlndXJhdGlvbiBkaXJlY3RseSBhcyBleHBlY3RlZCBieSB0aGUgcnVudGltZVxuICAgIC8vIFRoZSBydW50aW1lIHdyYXBzIHRoaXMgaW4gY29udGFpbmVyQ29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb250YWluZXJVcmk6IHRoaXMucmVwb3NpdG9yeS5yZXBvc2l0b3J5VXJpRm9yVGFnKHRoaXMudGFnKSxcbiAgICB9IGFzIGFueTtcbiAgfVxufVxuXG5jbGFzcyBBc3NldEltYWdlIGV4dGVuZHMgQWdlbnRSdW50aW1lQXJ0aWZhY3Qge1xuICBwcml2YXRlIGFzc2V0PzogYXNzZXRzLkRvY2tlckltYWdlQXNzZXQ7XG4gIHByaXZhdGUgYm91bmQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IGFzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0T3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIHJ1bnRpbWU6IFJ1bnRpbWUpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgdGhlIGFzc2V0IGlmIG5vdCBhbHJlYWR5IGNyZWF0ZWRcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgYXNzZXRzLkRvY2tlckltYWdlQXNzZXQoc2NvcGUsICdBZ2VudFJ1bnRpbWVBcnRpZmFjdCcsIHtcbiAgICAgICAgZGlyZWN0b3J5OiB0aGlzLmRpcmVjdG9yeSxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgKG9ubHkgb25jZSlcbiAgICBpZiAoIXRoaXMuYm91bmQpIHtcbiAgICAgIHRoaXMuYXNzZXQucmVwb3NpdG9yeS5ncmFudFB1bGwocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdBc3NldCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgYmluZCgpIGJlZm9yZSBfcmVuZGVyKCknKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gY29udGFpbmVyIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgYXMgZXhwZWN0ZWQgYnkgdGhlIHJ1bnRpbWVcbiAgICAvLyBUaGUgcnVudGltZSB3cmFwcyB0aGlzIGluIGNvbnRhaW5lckNvbmZpZ3VyYXRpb25cbiAgICByZXR1cm4ge1xuICAgICAgY29udGFpbmVyVXJpOiB0aGlzLmFzc2V0LmltYWdlVXJpLFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmNsYXNzIFMzSW1hZ2UgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIHByaXZhdGUgYm91bmQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHMzTG9jYXRpb246IHMzLkxvY2F0aW9uLCBwcml2YXRlIHJlYWRvbmx5IHJ1bnRpbWU6IEFnZW50Q29yZVJ1bnRpbWUsIHByaXZhdGUgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIEhhbmRsZSBwZXJtaXNzaW9ucyAob25seSBvbmNlKVxuICAgIGlmICghdGhpcy5ib3VuZCAmJiBydW50aW1lLnJvbGUpIHtcbiAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lKSkge1xuICAgICAgICBTdGFjay5vZihzY29wZSkucmVzb2x2ZSh0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBidWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBgJHt0aGlzLnMzTG9jYXRpb24uYnVja2V0TmFtZX1Db2RlQXJjaGl2ZWAsXG4gICAgICAgIHRoaXMuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgKTtcbiAgICAgIC8vIEVuc3VyZSB0aGUgcG9saWN5IGlzIGFwcGxpZWQgYmVmb3JlIHRoZSBicm93c2VyIHJlc291cmNlIGlzIGNyZWF0ZWRcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWQocnVudGltZS5yb2xlKTtcbiAgICAgIHRoaXMuYm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgY29uc3QgczNDb25maWc6IGFueSA9IHtcbiAgICAgIGJ1Y2tldDogdGhpcy5zM0xvY2F0aW9uLmJ1Y2tldE5hbWUsXG4gICAgICBwcmVmaXg6IHRoaXMuczNMb2NhdGlvbi5vYmplY3RLZXksXG4gICAgfTtcbiAgICBpZiAodGhpcy5zM0xvY2F0aW9uLm9iamVjdFZlcnNpb24pIHtcbiAgICAgIHMzQ29uZmlnLnZlcnNpb25JZCA9IHRoaXMuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29kZToge1xuICAgICAgICBzMzogczNDb25maWcsXG4gICAgICB9LFxuICAgICAgcnVudGltZTogdGhpcy5ydW50aW1lLFxuICAgICAgZW50cnlQb2ludDogdGhpcy5lbnRyeXBvaW50LFxuICAgIH0gYXMgYW55O1xuICB9XG59XG5cbmNsYXNzIEltYWdlVXJpQXJ0aWZhY3QgZXh0ZW5kcyBBZ2VudFJ1bnRpbWVBcnRpZmFjdCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyVXJpOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gVmFsaWRhdGUgRUNSIGNvbnRhaW5lciBVUkkgZm9ybWF0IHBlciBDbG91ZEZvcm1hdGlvbiByZXF1aXJlbWVudHNcbiAgICBjb25zdCBlY3JQYXR0ZXJuID0gL15cXGR7MTJ9XFwuZGtyXFwuZWNyXFwuKFthLXowLTktXSspXFwuYW1hem9uYXdzXFwuY29tXFwvKCg/OlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSpcXC8pKlthLXowLTldKyg/OlsuXy1dW2EtejAtOV0rKSopKFs6QF1cXFMrKSQvO1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbnRhaW5lclVyaSkgJiYgIWVjclBhdHRlcm4udGVzdChjb250YWluZXJVcmkpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBFQ1IgY29udGFpbmVyIFVSSSBmb3JtYXQ6ICR7Y29udGFpbmVyVXJpfS4gTXVzdCBiZSBhbiBFQ1IgVVJJOiB7YWNjb3VudH0uZGtyLmVjci57cmVnaW9ufS5hbWF6b25hd3MuY29tL3tyZXBvc2l0b3J5fTp7dGFnfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0LCBfcnVudGltZTogUnVudGltZSk6IHZvaWQge1xuICAgIC8vIE5vIHBlcm1pc3Npb25zIGFyZSBncmFudGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB1c2luZyBhIGRpcmVjdCBVUkkuXG4gICAgLy8gVXNlcnMgbXVzdCBtYW5hZ2UgRUNSIHB1bGwgcGVybWlzc2lvbnMgc2VwYXJhdGVseS5cbiAgfVxuXG4gIHB1YmxpYyBfcmVuZGVyKCk6IENmblJ1bnRpbWUuQWdlbnRSdW50aW1lQXJ0aWZhY3RQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRhaW5lclVyaTogdGhpcy5jb250YWluZXJVcmksXG4gICAgfSBhcyBhbnk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,18 +10,21 @@
|
|
|
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 { IResource,
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
13
|
+
import type { IResource, ResourceProps } from 'aws-cdk-lib';
|
|
14
|
+
import { Resource } from 'aws-cdk-lib';
|
|
15
|
+
import type { IRuntimeRef, RuntimeReference } from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
16
|
+
import type { DimensionsMap, MetricOptions } from 'aws-cdk-lib/aws-cloudwatch';
|
|
17
|
+
import { Metric } from 'aws-cdk-lib/aws-cloudwatch';
|
|
18
|
+
import type * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
16
19
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
17
|
-
import { Construct } from 'constructs';
|
|
20
|
+
import type { Construct } from 'constructs';
|
|
18
21
|
/******************************************************************************
|
|
19
22
|
* Interface
|
|
20
23
|
*****************************************************************************/
|
|
21
24
|
/**
|
|
22
25
|
* Interface for Agent Runtime resources
|
|
23
26
|
*/
|
|
24
|
-
export interface IBedrockAgentRuntime extends IResource, iam.IGrantable, ec2.IConnectable {
|
|
27
|
+
export interface IBedrockAgentRuntime extends IResource, iam.IGrantable, ec2.IConnectable, IRuntimeRef {
|
|
25
28
|
/**
|
|
26
29
|
* The ARN of the agent runtime resource
|
|
27
30
|
* - Format `arn:${Partition}:bedrock-agentcore:${Region}:${Account}:runtime/${RuntimeId}`
|
|
@@ -157,6 +160,10 @@ export declare abstract class RuntimeBase extends Resource implements IBedrockAg
|
|
|
157
160
|
abstract readonly createdAt?: string;
|
|
158
161
|
abstract readonly lastUpdatedAt?: string;
|
|
159
162
|
abstract readonly grantPrincipal: iam.IPrincipal;
|
|
163
|
+
/**
|
|
164
|
+
* A reference to a Runtime resource.
|
|
165
|
+
*/
|
|
166
|
+
get runtimeRef(): RuntimeReference;
|
|
160
167
|
/**
|
|
161
168
|
* An accessor for the Connections object that will fail if this Runtime does not have a VPC
|
|
162
169
|
* configured.
|
|
@@ -2,18 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RuntimeBase = void 0;
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
-
/**
|
|
6
|
-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
-
*
|
|
8
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
9
|
-
* with the License. A copy of the License is located at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
14
|
-
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
15
|
-
* and limitations under the License.
|
|
16
|
-
*/
|
|
17
5
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
18
6
|
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
|
|
19
7
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
@@ -26,7 +14,16 @@ const validation_helpers_1 = require("./validation-helpers");
|
|
|
26
14
|
* Base class for Agent Runtime
|
|
27
15
|
*/
|
|
28
16
|
class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
29
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeBase", version: "2.238.0-alpha.0" };
|
|
18
|
+
/**
|
|
19
|
+
* A reference to a Runtime resource.
|
|
20
|
+
*/
|
|
21
|
+
get runtimeRef() {
|
|
22
|
+
return {
|
|
23
|
+
agentRuntimeId: this.agentRuntimeId,
|
|
24
|
+
agentRuntimeArn: this.agentRuntimeArn,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
30
27
|
/**
|
|
31
28
|
* An accessor for the Connections object that will fail if this Runtime does not have a VPC
|
|
32
29
|
* configured.
|
|
@@ -84,7 +81,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
|
84
81
|
return iam.Grant.addToPrincipal({
|
|
85
82
|
grantee,
|
|
86
83
|
actions: perms_1.RUNTIME_INVOKE_PERMS,
|
|
87
|
-
resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`], // * is needed because it invoke the endpoint as subresource
|
|
84
|
+
resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`], // * is needed because it invoke the endpoint as subresource
|
|
88
85
|
});
|
|
89
86
|
}
|
|
90
87
|
/**
|
|
@@ -100,7 +97,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
|
100
97
|
return iam.Grant.addToPrincipal({
|
|
101
98
|
grantee,
|
|
102
99
|
actions: perms_1.RUNTIME_INVOKE_USER_PERMS,
|
|
103
|
-
resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`],
|
|
100
|
+
resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`],
|
|
104
101
|
});
|
|
105
102
|
}
|
|
106
103
|
/**
|
|
@@ -115,7 +112,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
|
115
112
|
return iam.Grant.addToPrincipal({
|
|
116
113
|
grantee,
|
|
117
114
|
actions: [...perms_1.RUNTIME_INVOKE_PERMS, ...perms_1.RUNTIME_INVOKE_USER_PERMS],
|
|
118
|
-
resourceArns: [this.agentRuntimeArn, `${this.agentRuntimeArn}/*`],
|
|
115
|
+
resourceArns: [this.runtimeRef.agentRuntimeArn, `${this.runtimeRef.agentRuntimeArn}/*`],
|
|
119
116
|
});
|
|
120
117
|
}
|
|
121
118
|
// ------------------------------------------------------
|
|
@@ -131,7 +128,7 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
|
131
128
|
const metricProps = {
|
|
132
129
|
namespace: 'AWS/Bedrock-AgentCore',
|
|
133
130
|
metricName,
|
|
134
|
-
dimensionsMap: { ...dimensions, Resource: this.agentRuntimeArn },
|
|
131
|
+
dimensionsMap: { ...dimensions, Resource: this.runtimeRef.agentRuntimeArn },
|
|
135
132
|
...props,
|
|
136
133
|
};
|
|
137
134
|
return this.configureMetric(metricProps);
|
|
@@ -205,4 +202,4 @@ class RuntimeBase extends aws_cdk_lib_1.Resource {
|
|
|
205
202
|
}
|
|
206
203
|
}
|
|
207
204
|
exports.RuntimeBase = RuntimeBase;
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILDZDQUFpRTtBQUNqRSwrREFNb0M7QUFFcEMsMkNBQTJDO0FBRTNDLG1DQUEwRTtBQUMxRSw2REFBdUQ7QUErSnZEOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxNQUFzQixXQUFZLFNBQVEsc0JBQVE7O0lBWWhEOzs7T0FHRztJQUNILElBQVcsV0FBVztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztLQUMxQjtJQUVEOzs7O09BSUc7SUFDTyxZQUFZLENBQThCO0lBRXBELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBdUIsRUFBRTtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLE9BQWlCLEVBQUUsU0FBbUI7UUFDakQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbEIsT0FBTztZQUNQLFlBQVksRUFBRSxTQUFTO1NBQ3hCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsU0FBOEI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLE9BQXVCO1FBQy9DLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFj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S0FDM0U7SUFFRDs7T0FFRztJQUNJLGlCQUFpQixDQUFDLEtBQXFCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUMzRTtJQUVEOztPQUVHO0lBQ0ksa0JBQWtCLENBQUMsS0FBcUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQzVFO0lBRUQ7O09BRUc7SUFDSSx3QkFBd0IsQ0FBQyxLQUFxQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHNCQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN6RjtJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLEtBQWtCO1FBQ3hDLE9BQU8sSUFBSSx1QkFBTSxDQUFDO1lBQ2hCLEdBQUcsS0FBSztZQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87U0FDOUMsQ0FBQyxDQUFDO0tBQ0o7O0FBN01ILGtDQThNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IElSZXNvdXJjZSwgUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBEaW1lbnNpb25zTWFwLFxuICBNZXRyaWMsXG4gIE1ldHJpY09wdGlvbnMsXG4gIE1ldHJpY1Byb3BzLFxuICBTdGF0cyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSVU5USU1FX0lOVk9LRV9QRVJNUywgUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNUyB9IGZyb20gJy4vcGVybXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBBZ2VudCBSdW50aW1lIHJlc291cmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCZWRyb2NrQWdlbnRSdW50aW1lIGV4dGVuZHMgSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSwgZWMyLklDb25uZWN0YWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhZ2VudCBydW50aW1lIHJlc291cmNlXG4gICAqIC0gRm9ybWF0IGBhcm46JHtQYXJ0aXRpb259OmJlZHJvY2stYWdlbnRjb3JlOiR7UmVnaW9ufToke0FjY291bnR9OnJ1bnRpbWUvJHtSdW50aW1lSWR9YFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwiYXJuOmF3czpiZWRyb2NrLWFnZW50Y29yZTp1cy13ZXN0LTI6MTIzNDU2Nzg5MDEyOnJ1bnRpbWUvcnVudGltZS1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwicnVudGltZS1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRoYXQgcHJvdmlkZXMgcGVybWlzc2lvbnMgZm9yIHRoZSBhZ2VudCBydW50aW1lXG4gICAqXG4gICAqL1xuICByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRTdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBjcmVhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCIyMDI0LTAxLTE1VDEwOjMwOjAwWlwiXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcIjIwMjQtMDEtMTVUMTQ6NDU6MDBaXCJcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1ldHJpY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGdpdmVuIG5hbWVkIG1ldHJpYyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgZGltZW5zaW9uczogRGltZW5zaW9uc01hcCwgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNJbnZvY2F0aW9ucyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgYWNyb3NzIGFsbCByZXNvdXJjZXMuXG4gICAqL1xuICBtZXRyaWNJbnZvY2F0aW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHRocm90dGxlZCByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNTeXN0ZW1FcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHVzZXIgZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNVc2VyRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgZXJyb3JzIChzeXN0ZW0gKyB1c2VyKSBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVG90YWxFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGFnZW50IHNlc3Npb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBtZXRyaWNTZXNzaW9uQ291bnQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIHNlc3Npb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgbWV0cmljU2Vzc2lvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3JhbnQgTWV0aG9kc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBhY3Rpb25zIHRvIGdyYW50XG4gICAqIEBwYXJhbSByZXNvdXJjZXMgVGhlIHJlc291cmNlIEFSTnMgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqIEByZXR1cm5zIFRoZSBHcmFudCBvYmplY3QgZm9yIGNoYWluaW5nXG4gICAqL1xuICBncmFudChhY3Rpb25zOiBzdHJpbmdbXSwgcmVzb3VyY2VzOiBzdHJpbmdbXSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogQWRkcyBhIHBvbGljeSBzdGF0ZW1lbnQgdG8gdGhlIHJ1bnRpbWUncyBleGVjdXRpb24gcm9sZVxuICAgKlxuICAgKiBAcGFyYW0gc3RhdGVtZW50IFRoZSBJQU0gcG9saWN5IHN0YXRlbWVudCB0byBhZGRcbiAgICogQHJldHVybnMgVGhlIHJ1bnRpbWUgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAqL1xuICBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlUnVudGltZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgb24gYmVoYWxmIG9mIGEgdXNlclxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvblxuICAgKiBSZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBYLUFtem4tQmVkcm9jay1BZ2VudENvcmUtUnVudGltZS1Vc2VyLUlkIGhlYWRlclxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgZ3JhbnRJbnZva2VSdW50aW1lRm9yVXNlcihncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgYm90aCBkaXJlY3RseSBhbmQgb24gYmVoYWxmIG9mIHVzZXJzXG4gICAqIEdyYW50cyBib3RoIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZSBhbmQgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciBwZXJtaXNzaW9uc1xuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgZ3JhbnRJbnZva2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgQWdlbnQgUnVudGltZVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElCZWRyb2NrQWdlbnRSdW50aW1lIHtcbiAgLy8gQWJzdHJhY3QgcHJvcGVydGllc1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lVmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbGFzdFVwZGF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcblxuICAvKipcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSBDb25uZWN0aW9ucyBvYmplY3QgdGhhdCB3aWxsIGZhaWwgaWYgdGhpcyBSdW50aW1lIGRvZXMgbm90IGhhdmUgYSBWUENcbiAgICogY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29ubmVjdGlvbnMoKTogZWMyLkNvbm5lY3Rpb25zIHtcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3Rpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdDYW5ub3QgbWFuYWdlIG5ldHdvcmsgYWNjZXNzIHdpdGhvdXQgY29uZmlndXJpbmcgYSBWUEMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgQ29ubmVjdGlvbnMgb2JqZWN0IGZvciB0aGlzIFJ1bnRpbWUuIFRoaXMgbWF5IGJlIHVuc2V0IGluIHRoZSBldmVudCB0aGF0IGEgVlBDIGhhcyBub3RcbiAgICogYmVlbiBjb25maWd1cmVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGFjdGlvbnM6IHN0cmluZ1tdLCByZXNvdXJjZXM6IHN0cmluZ1tdKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IHRoaXMucm9sZSxcbiAgICAgIGFjdGlvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9saWN5IHN0YXRlbWVudCB0byB0aGUgcnVudGltZSdzIGV4ZWN1dGlvbiByb2xlXG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgVGhlIElBTSBwb2xpY3kgc3RhdGVtZW50IHRvIGFkZFxuICAgKiBAcmV0dXJucyBUaGUgcnVudGltZSBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWUge1xuICAgIHRoaXMucm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2VSdW50aW1lKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9QRVJNUyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuYWdlbnRSdW50aW1lQXJuLCBgJHt0aGlzLmFnZW50UnVudGltZUFybn0vKmBdLCAvLyAqIGlzIG5lZWRlZCBiZWNhdXNlIGl0IGludm9rZSB0aGUgZW5kcG9pbnQgYXMgc3VicmVzb3VyY2VcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZSBvbiBiZWhhbGYgb2YgYSB1c2VyXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lRm9yVXNlciBwZXJtaXNzaW9uXG4gICAqIFJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIFgtQW16bi1CZWRyb2NrLUFnZW50Q29yZS1SdW50aW1lLVVzZXItSWQgaGVhZGVyXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50SW52b2tlUnVudGltZUZvclVzZXIoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFJVTlRJTUVfSU5WT0tFX1VTRVJfUEVSTVMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmFnZW50UnVudGltZUFybiwgYCR7dGhpcy5hZ2VudFJ1bnRpbWVBcm59LypgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZSBib3RoIGRpcmVjdGx5IGFuZCBvbiBiZWhhbGYgb2YgdXNlcnNcbiAgICogR3JhbnRzIGJvdGggYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIGFuZCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyIHBlcm1pc3Npb25zXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50SW52b2tlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbLi4uUlVOVElNRV9JTlZPS0VfUEVSTVMsIC4uLlJVTlRJTUVfSU5WT0tFX1VTRVJfUEVSTVNdLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5hZ2VudFJ1bnRpbWVBcm4sIGAke3RoaXMuYWdlbnRSdW50aW1lQXJufS8qYF0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWV0cmljc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBtZXRyaWMgd2lsbCBiZSBjYWxjdWxhdGVkIGFzIGEgc3VtIG92ZXIgYSBwZXJpb2Qgb2YgNSBtaW51dGVzLlxuICAgKiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGlzIGJ5IHVzaW5nIHRoZSBgc3RhdGlzdGljYCBhbmQgYHBlcmlvZGAgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5hZ2VudFJ1bnRpbWVBcm4gfSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJlTWV0cmljKG1ldHJpY1Byb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW52b2NhdGlvbnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0ludm9jYXRpb25zJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgYWNyb3NzIGFsbCByZXNvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljSW52b2NhdGlvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdJbnZvY2F0aW9ucycsIHsgUmVzb3VyY2U6ICdBbGwnIH0sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgdGhyb3R0bGVkIHJlcXVlc3RzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVGhyb3R0bGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUaHJvdHRsZXMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBzeXN0ZW0gZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdTeXN0ZW1FcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1VzZXJFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1VzZXJFcnJvcnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIG1lYXN1cmluZyB0aGUgbGF0ZW5jeSBvZiByZXF1ZXN0cyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKlxuICAgKiBUaGUgbGF0ZW5jeSBtZXRyaWMgcmVwcmVzZW50cyB0aGUgdG90YWwgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZWl2aW5nIHRoZSByZXF1ZXN0XG4gICAqIGFuZCBzZW5kaW5nIHRoZSBmaW5hbCByZXNwb25zZSB0b2tlbiwgcmVwcmVzZW50aW5nIGNvbXBsZXRlIGVuZC10by1lbmQgcHJvY2Vzc2luZyB0aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY0xhdGVuY3kocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0xhdGVuY3knLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLkFWRVJBR0UsIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgZXJyb3JzIChzeXN0ZW0gKyB1c2VyKSBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1RvdGFsRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdUb3RhbEVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGFnZW50IHNlc3Npb25zIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljU2Vzc2lvbkNvdW50KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKCdTZXNzaW9uQ291bnQnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTZXNzaW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Nlc3Npb25zJywgeyBSZXNvdXJjZTogJ0FsbCcgfSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgbWV0aG9kIHRvIGNyZWF0ZSBhIG1ldHJpYy5cbiAgICovXG4gIHByaXZhdGUgY29uZmlndXJlTWV0cmljKHByb3BzOiBNZXRyaWNQcm9wcykge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcmVnaW9uOiBwcm9wcz8ucmVnaW9uID8/IHRoaXMuc3RhY2sucmVnaW9uLFxuICAgICAgYWNjb3VudDogcHJvcHM/LmFjY291bnQgPz8gdGhpcy5zdGFjay5hY2NvdW50LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIEFnZW50IFJ1bnRpbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2VudFJ1bnRpbWVBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBBUk5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogV2hlbiBpbXBvcnRpbmcgYSBydW50aW1lIGFuZCB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgb3IgdW5kZWZpbmVkLCBlbmRwb2ludHMgY3JlYXRlZCBvbiB0aGlzIHJ1bnRpbWVcbiAgICogd2lsbCBwb2ludCB0byB2ZXJzaW9uIFwiMVwiIHVubGVzcyBleHBsaWNpdGx5IG92ZXJyaWRkZW4uXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBncm91cHMgZm9yIHRoaXMgcnVudGltZSwgaWYgaW4gYSBWUEMuXG4gICAqIEBkZWZhdWx0IC0gQnkgZGVmYXVsdCwgdGhlIHJ1bnRpbWUgaXMgbm90IGluIGEgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM/OiBlYzIuSVNlY3VyaXR5R3JvdXBbXTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqIEBkZWZhdWx0IC0gU3RhdHVzIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgY3JlYXRlZFxuICAgKiBAZGVmYXVsdCAtIENyZWF0aW9uIHRpbWUgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgbGFzdCB1cGRhdGVkXG4gICAqIEBkZWZhdWx0IC0gTGFzdCB1cGRhdGUgdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZEF0Pzogc3RyaW5nO1xufVxuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFjQSw2Q0FBdUM7QUFPdkMsK0RBR29DO0FBRXBDLDJDQUEyQztBQUUzQyxtQ0FBMEU7QUFDMUUsNkRBQXVEO0FBK0p2RDs7K0VBRStFO0FBRS9FOztHQUVHO0FBQ0gsTUFBc0IsV0FBWSxTQUFRLHNCQUFROztJQVloRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPO1lBQ0wsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN0QyxDQUFDO0tBQ0g7SUFFRDs7O09BR0c7SUFDSCxJQUFXLFdBQVc7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksb0NBQWUsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7S0FDMUI7SUFFRDs7OztPQUlHO0lBQ08sWUFBWSxDQUE4QjtJQUVwRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxPQUFpQixFQUFFLFNBQW1CO1FBQ2pELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2xCLE9BQU87WUFDUCxZQUFZLEVBQUUsU0FBUztTQUN4QixDQUFDLENBQUM7S0FDSjtJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUFDLFNBQThCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMs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XG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UsIFJlc291cmNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgSVJ1bnRpbWVSZWYsIFJ1bnRpbWVSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIERpbWVuc2lvbnNNYXAsXG4gIE1ldHJpY09wdGlvbnMsXG4gIE1ldHJpY1Byb3BzLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQge1xuICBNZXRyaWMsXG4gIFN0YXRzLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgdHlwZSAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSVU5USU1FX0lOVk9LRV9QRVJNUywgUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNUyB9IGZyb20gJy4vcGVybXMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50ZXJmYWNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBBZ2VudCBSdW50aW1lIHJlc291cmNlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElCZWRyb2NrQWdlbnRSdW50aW1lIGV4dGVuZHMgSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSwgZWMyLklDb25uZWN0YWJsZSwgSVJ1bnRpbWVSZWYge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWdlbnQgcnVudGltZSByZXNvdXJjZVxuICAgKiAtIEZvcm1hdCBgYXJuOiR7UGFydGl0aW9ufTpiZWRyb2NrLWFnZW50Y29yZToke1JlZ2lvbn06JHtBY2NvdW50fTpydW50aW1lLyR7UnVudGltZUlkfWBcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcImFybjphd3M6YmVkcm9jay1hZ2VudGNvcmU6dXMtd2VzdC0yOjEyMzQ1Njc4OTAxMjpydW50aW1lL3J1bnRpbWUtYWJjMTIzXCJcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGF0dHJpYnV0ZVxuICAgKiBAZXhhbXBsZSBcInJ1bnRpbWUtYWJjMTIzXCJcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhZ2VudCBydW50aW1lXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0aGF0IHByb3ZpZGVzIHBlcm1pc3Npb25zIGZvciB0aGUgYWdlbnQgcnVudGltZVxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50U3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqIEBleGFtcGxlIFwiMjAyNC0wMS0xNVQxMDozMDowMFpcIlxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZSBhdCB3aGljaCB0aGUgcnVudGltZSB3YXMgbGFzdCB1cGRhdGVkXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCIyMDI0LTAxLTE1VDE0OjQ1OjAwWlwiXG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNZXRyaWNzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIGRpbWVuc2lvbnM6IERpbWVuc2lvbnNNYXAsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljSW52b2NhdGlvbnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGludm9jYXRpb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgbWV0cmljSW52b2NhdGlvbnNBZ2dyZWdhdGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB0aHJvdHRsZWQgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY1Rocm90dGxlcyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2Ygc3lzdGVtIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljU3lzdGVtRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB1c2VyIGVycm9ycyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljVXNlckVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBtZWFzdXJpbmcgdGhlIGxhdGVuY3kgb2YgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY0xhdGVuY3kocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIGVycm9ycyAoc3lzdGVtICsgdXNlcikgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIG1ldHJpY1RvdGFsRXJyb3JzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBhZ2VudCBzZXNzaW9ucyBmb3IgdGhpcyBhZ2VudCBydW50aW1lLlxuICAgKi9cbiAgbWV0cmljU2Vzc2lvbkNvdW50KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBzZXNzaW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIG1ldHJpY1Nlc3Npb25zQWdncmVnYXRlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWM7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEdyYW50IE1ldGhvZHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBydW50aW1lIHNwZWNpZmljIGFjdGlvbnMgb24gQVdTIHJlc291cmNlc1xuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgZ3JhbnQoYWN0aW9uczogc3RyaW5nW10sIHJlc291cmNlczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb2xpY3kgc3RhdGVtZW50IHRvIHRoZSBydW50aW1lJ3MgZXhlY3V0aW9uIHJvbGVcbiAgICpcbiAgICogQHBhcmFtIHN0YXRlbWVudCBUaGUgSUFNIHBvbGljeSBzdGF0ZW1lbnQgdG8gYWRkXG4gICAqIEByZXR1cm5zIFRoZSBydW50aW1lIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgYWRkVG9Sb2xlUG9saWN5KHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCk6IElCZWRyb2NrQWdlbnRSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRzIGFuIElBTSBwcmluY2lwYWwgdG8gaW52b2tlIHRoaXMgcnVudGltZVxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZSBwZXJtaXNzaW9uXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBncmFudEludm9rZVJ1bnRpbWUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIG9uIGJlaGFsZiBvZiBhIHVzZXJcbiAgICogR3JhbnRzIHRoZSBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWVGb3JVc2VyIHBlcm1pc3Npb25cbiAgICogUmVxdWlyZWQgd2hlbiB1c2luZyB0aGUgWC1BbXpuLUJlZHJvY2stQWdlbnRDb3JlLVJ1bnRpbWUtVXNlci1JZCBoZWFkZXJcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlUnVudGltZUZvclVzZXIoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIGJvdGggZGlyZWN0bHkgYW5kIG9uIGJlaGFsZiBvZiB1c2Vyc1xuICAgKiBHcmFudHMgYm90aCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWUgYW5kIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvbnNcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIGdyYW50SW52b2tlKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZSBDbGFzc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIEFnZW50IFJ1bnRpbWVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJ1bnRpbWVCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQmVkcm9ja0FnZW50UnVudGltZSB7XG4gIC8vIEFic3RyYWN0IHByb3BlcnRpZXNcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgLyoqXG4gICAqIEEgcmVmZXJlbmNlIHRvIGEgUnVudGltZSByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcnVudGltZVJlZigpOiBSdW50aW1lUmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYWdlbnRSdW50aW1lSWQ6IHRoaXMuYWdlbnRSdW50aW1lSWQsXG4gICAgICBhZ2VudFJ1bnRpbWVBcm46IHRoaXMuYWdlbnRSdW50aW1lQXJuLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQW4gYWNjZXNzb3IgZm9yIHRoZSBDb25uZWN0aW9ucyBvYmplY3QgdGhhdCB3aWxsIGZhaWwgaWYgdGhpcyBSdW50aW1lIGRvZXMgbm90IGhhdmUgYSBWUENcbiAgICogY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29ubmVjdGlvbnMoKTogZWMyLkNvbm5lY3Rpb25zIHtcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3Rpb25zKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdDYW5ub3QgbWFuYWdlIG5ldHdvcmsgYWNjZXNzIHdpdGhvdXQgY29uZmlndXJpbmcgYSBWUEMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgQ29ubmVjdGlvbnMgb2JqZWN0IGZvciB0aGlzIFJ1bnRpbWUuIFRoaXMgbWF5IGJlIHVuc2V0IGluIHRoZSBldmVudCB0aGF0IGEgVlBDIGhhcyBub3RcbiAgICogYmVlbiBjb25maWd1cmVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIHJ1bnRpbWUgc3BlY2lmaWMgYWN0aW9ucyBvbiBBV1MgcmVzb3VyY2VzXG4gICAqXG4gICAqIFtkaXNhYmxlLWF3c2xpbnQ6bm8tZ3JhbnRzXVxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIFRoZSByZXNvdXJjZSBBUk5zIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKiBAcmV0dXJucyBUaGUgR3JhbnQgb2JqZWN0IGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIGdyYW50KGFjdGlvbnM6IHN0cmluZ1tdLCByZXNvdXJjZXM6IHN0cmluZ1tdKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWU6IHRoaXMucm9sZSxcbiAgICAgIGFjdGlvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcG9saWN5IHN0YXRlbWVudCB0byB0aGUgcnVudGltZSdzIGV4ZWN1dGlvbiByb2xlXG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgVGhlIElBTSBwb2xpY3kgc3RhdGVtZW50IHRvIGFkZFxuICAgKiBAcmV0dXJucyBUaGUgcnVudGltZSBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBhZGRUb1JvbGVQb2xpY3koc3RhdGVtZW50OiBpYW0uUG9saWN5U3RhdGVtZW50KTogSUJlZHJvY2tBZ2VudFJ1bnRpbWUge1xuICAgIHRoaXMucm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lXG4gICAqIEdyYW50cyB0aGUgYmVkcm9jay1hZ2VudGNvcmU6SW52b2tlQWdlbnRSdW50aW1lIHBlcm1pc3Npb25cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2VSdW50aW1lKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9QRVJNUyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMucnVudGltZVJlZi5hZ2VudFJ1bnRpbWVBcm4sIGAke3RoaXMucnVudGltZVJlZi5hZ2VudFJ1bnRpbWVBcm59LypgXSwgLy8gKiBpcyBuZWVkZWQgYmVjYXVzZSBpdCBpbnZva2UgdGhlIGVuZHBvaW50IGFzIHN1YnJlc291cmNlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVybWl0cyBhbiBJQU0gcHJpbmNpcGFsIHRvIGludm9rZSB0aGlzIHJ1bnRpbWUgb24gYmVoYWxmIG9mIGEgdXNlclxuICAgKiBHcmFudHMgdGhlIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvblxuICAgKiBSZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBYLUFtem4tQmVkcm9jay1BZ2VudENvcmUtUnVudGltZS1Vc2VyLUlkIGhlYWRlclxuICAgKlxuICAgKiBbZGlzYWJsZS1hd3NsaW50Om5vLWdyYW50c11cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudEludm9rZVJ1bnRpbWVGb3JVc2VyKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBSVU5USU1FX0lOVk9LRV9VU0VSX1BFUk1TLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybiwgYCR7dGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybn0vKmBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgYW4gSUFNIHByaW5jaXBhbCB0byBpbnZva2UgdGhpcyBydW50aW1lIGJvdGggZGlyZWN0bHkgYW5kIG9uIGJlaGFsZiBvZiB1c2Vyc1xuICAgKiBHcmFudHMgYm90aCBiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VBZ2VudFJ1bnRpbWUgYW5kIGJlZHJvY2stYWdlbnRjb3JlOkludm9rZUFnZW50UnVudGltZUZvclVzZXIgcGVybWlzc2lvbnNcbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRJbnZva2UoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFsuLi5SVU5USU1FX0lOVk9LRV9QRVJNUywgLi4uUlVOVElNRV9JTlZPS0VfVVNFUl9QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLnJ1bnRpbWVSZWYuYWdlbnRSdW50aW1lQXJuLCBgJHt0aGlzLnJ1bnRpbWVSZWYuYWdlbnRSdW50aW1lQXJufS8qYF0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTWV0cmljc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBtZXRyaWMgd2lsbCBiZSBjYWxjdWxhdGVkIGFzIGEgc3VtIG92ZXIgYSBwZXJpb2Qgb2YgNSBtaW51dGVzLlxuICAgKiBZb3UgY2FuIGN1c3RvbWl6ZSB0aGlzIGJ5IHVzaW5nIHRoZSBgc3RhdGlzdGljYCBhbmQgYHBlcmlvZGAgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBkaW1lbnNpb25zOiBEaW1lbnNpb25zTWFwLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIGNvbnN0IG1ldHJpY1Byb3BzOiBNZXRyaWNQcm9wcyA9IHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9CZWRyb2NrLUFnZW50Q29yZScsXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgZGltZW5zaW9uc01hcDogeyAuLi5kaW1lbnNpb25zLCBSZXNvdXJjZTogdGhpcy5ydW50aW1lUmVmLmFnZW50UnVudGltZUFybiB9LFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmVNZXRyaWMobWV0cmljUHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSB0b3RhbCBudW1iZXIgb2YgaW52b2NhdGlvbnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9ucyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnSW52b2NhdGlvbnMnLCB7fSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBpbnZvY2F0aW9ucyBhY3Jvc3MgYWxsIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNJbnZvY2F0aW9uc0FnZ3JlZ2F0ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ0ludm9jYXRpb25zJywgeyBSZXNvdXJjZTogJ0FsbCcgfSwgeyBzdGF0aXN0aWM6IFN0YXRzLlNVTSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiB0aHJvdHRsZWQgcmVxdWVzdHMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNUaHJvdHRsZXMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Rocm90dGxlcycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHN5c3RlbSBlcnJvcnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTeXN0ZW1FcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1N5c3RlbUVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIHVzZXIgZXJyb3JzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVXNlckVycm9ycyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnVXNlckVycm9ycycsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgbWVhc3VyaW5nIHRoZSBsYXRlbmN5IG9mIHJlcXVlc3RzIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqXG4gICAqIFRoZSBsYXRlbmN5IG1ldHJpYyByZXByZXNlbnRzIHRoZSB0b3RhbCB0aW1lIGVsYXBzZWQgYmV0d2VlbiByZWNlaXZpbmcgdGhlIHJlcXVlc3RcbiAgICogYW5kIHNlbmRpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIHRva2VuLCByZXByZXNlbnRpbmcgY29tcGxldGUgZW5kLXRvLWVuZCBwcm9jZXNzaW5nIHRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljTGF0ZW5jeShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnTGF0ZW5jeScsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuQVZFUkFHRSwgLi4ucHJvcHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgbWV0cmljIGNvbnRhaW5pbmcgdGhlIHRvdGFsIG51bWJlciBvZiBlcnJvcnMgKHN5c3RlbSArIHVzZXIpIGZvciB0aGlzIGFnZW50IHJ1bnRpbWUuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljVG90YWxFcnJvcnMocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1RvdGFsRXJyb3JzJywge30sIHsgc3RhdGlzdGljOiBTdGF0cy5TVU0sIC4uLnByb3BzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIG1ldHJpYyBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgYWdlbnQgc2Vzc2lvbnMgZm9yIHRoaXMgYWdlbnQgcnVudGltZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTZXNzaW9uQ291bnQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWMoJ1Nlc3Npb25Db3VudCcsIHt9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBtZXRyaWMgY29udGFpbmluZyB0aGUgdG90YWwgbnVtYmVyIG9mIHNlc3Npb25zIGFjcm9zcyBhbGwgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1Nlc3Npb25zQWdncmVnYXRlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLm1ldHJpYygnU2Vzc2lvbnMnLCB7IFJlc291cmNlOiAnQWxsJyB9LCB7IHN0YXRpc3RpYzogU3RhdHMuU1VNLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gY3JlYXRlIGEgbWV0cmljLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25maWd1cmVNZXRyaWMocHJvcHM6IE1ldHJpY1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICByZWdpb246IHByb3BzPy5yZWdpb24gPz8gdGhpcy5zdGFjay5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcz8uYWNjb3VudCA/PyB0aGlzLnN0YWNrLmFjY291bnQsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgQWdlbnQgUnVudGltZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50UnVudGltZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIEFSTlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBXaGVuIGltcG9ydGluZyBhIHJ1bnRpbWUgYW5kIHRoaXMgaXMgbm90IHNwZWNpZmllZCBvciB1bmRlZmluZWQsIGVuZHBvaW50cyBjcmVhdGVkIG9uIHRoaXMgcnVudGltZVxuICAgKiB3aWxsIHBvaW50IHRvIHZlcnNpb24gXCIxXCIgdW5sZXNzIGV4cGxpY2l0bHkgb3ZlcnJpZGRlbi5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGFnZW50UnVudGltZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYWdlbnQgcnVudGltZVxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGdyb3VwcyBmb3IgdGhpcyBydW50aW1lLCBpZiBpbiBhIFZQQy5cbiAgICogQGRlZmF1bHQgLSBCeSBkZWZhdWx0LCB0aGUgcnVudGltZSBpcyBub3QgaW4gYSBWUEMuXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IGVjMi5JU2VjdXJpdHlHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGFnZW50IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgLSBTdGF0dXMgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRTdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBjcmVhdGVkXG4gICAqIEBkZWZhdWx0IC0gQ3JlYXRpb24gdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBydW50aW1lIHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGRlZmF1bHQgLSBMYXN0IHVwZGF0ZSB0aW1lIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -10,15 +10,17 @@
|
|
|
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 { IResource,
|
|
14
|
-
import {
|
|
13
|
+
import type { IResource, ResourceProps } from 'aws-cdk-lib';
|
|
14
|
+
import { Resource } from 'aws-cdk-lib';
|
|
15
|
+
import type { IRuntimeEndpointRef, RuntimeEndpointReference } from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
16
|
+
import type { Construct } from 'constructs';
|
|
15
17
|
/******************************************************************************
|
|
16
18
|
* Interface
|
|
17
19
|
*****************************************************************************/
|
|
18
20
|
/**
|
|
19
21
|
* Interface for Runtime Endpoint resources
|
|
20
22
|
*/
|
|
21
|
-
export interface IRuntimeEndpoint extends IResource {
|
|
23
|
+
export interface IRuntimeEndpoint extends IResource, IRuntimeEndpointRef {
|
|
22
24
|
/**
|
|
23
25
|
* The ARN of the runtime endpoint resource
|
|
24
26
|
* @attribute
|
|
@@ -74,6 +76,10 @@ export declare abstract class RuntimeEndpointBase extends Resource implements IR
|
|
|
74
76
|
abstract readonly targetVersion?: string;
|
|
75
77
|
abstract readonly createdAt?: string;
|
|
76
78
|
abstract readonly description?: string;
|
|
79
|
+
/**
|
|
80
|
+
* A reference to a RuntimeEndpoint resource.
|
|
81
|
+
*/
|
|
82
|
+
get runtimeEndpointRef(): RuntimeEndpointReference;
|
|
77
83
|
constructor(scope: Construct, id: string, props?: ResourceProps);
|
|
78
84
|
}
|
|
79
85
|
/**
|
|
@@ -2,18 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RuntimeEndpointBase = void 0;
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
-
/**
|
|
6
|
-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
-
*
|
|
8
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
9
|
-
* with the License. A copy of the License is located at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
14
|
-
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
15
|
-
* and limitations under the License.
|
|
16
|
-
*/
|
|
17
5
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
18
6
|
/******************************************************************************
|
|
19
7
|
* Base Class
|
|
@@ -22,10 +10,18 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
|
22
10
|
* Base class for Runtime Endpoint
|
|
23
11
|
*/
|
|
24
12
|
class RuntimeEndpointBase extends aws_cdk_lib_1.Resource {
|
|
25
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.RuntimeEndpointBase", version: "2.238.0-alpha.0" };
|
|
14
|
+
/**
|
|
15
|
+
* A reference to a RuntimeEndpoint resource.
|
|
16
|
+
*/
|
|
17
|
+
get runtimeEndpointRef() {
|
|
18
|
+
return {
|
|
19
|
+
agentRuntimeEndpointArn: this.agentRuntimeEndpointArn,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
26
22
|
constructor(scope, id, props = {}) {
|
|
27
23
|
super(scope, id, props);
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
exports.RuntimeEndpointBase = RuntimeEndpointBase;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1lbmRwb2ludC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVudGltZS1lbmRwb2ludC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFjQSw2Q0FBdUM7QUE0RHZDOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxNQUFzQixtQkFBb0IsU0FBUSxzQkFBUTs7SUFVeEQ7O09BRUc7SUFDSCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPO1lBQ0wsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtTQUN0RCxDQUFDO0tBQ0g7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDekI7O0FBckJILGtEQXNCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgSVJlc291cmNlLCBSZXNvdXJjZVByb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElSdW50aW1lRW5kcG9pbnRSZWYsIFJ1bnRpbWVFbmRwb2ludFJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFJ1bnRpbWUgRW5kcG9pbnQgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bnRpbWVFbmRwb2ludCBleHRlbmRzIElSZXNvdXJjZSwgSVJ1bnRpbWVFbmRwb2ludFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBydW50aW1lIGVuZHBvaW50IHJlc291cmNlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICogQGV4YW1wbGUgXCJhcm46YXdzOmJlZHJvY2stYWdlbnRjb3JlOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6YWdlbnQtcnVudGltZS1lbmRwb2ludC9lbmRwb2ludC1hYmMxMjNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lRW5kcG9pbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBwYXJlbnQgYWdlbnQgcnVudGltZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpdmUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZSB0aGF0IGlzIGN1cnJlbnRseSBzZXJ2aW5nIHJlcXVlc3RzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZlcnNpb24gdGhlIGVuZHBvaW50IGlzIHRyYW5zaXRpb25pbmcgdG8gKGR1cmluZyB1cGRhdGVzKVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBlbmRwb2ludCB3YXMgY3JlYXRlZFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlIENsYXNzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgUnVudGltZSBFbmRwb2ludFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVudGltZUVuZHBvaW50QmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVJ1bnRpbWVFbmRwb2ludCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVFbmRwb2ludEFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZW5kcG9pbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhZ2VudFJ1bnRpbWVBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGFyZ2V0VmVyc2lvbj86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNyZWF0ZWRBdD86IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSB0byBhIFJ1bnRpbWVFbmRwb2ludCByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcnVudGltZUVuZHBvaW50UmVmKCk6IFJ1bnRpbWVFbmRwb2ludFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFnZW50UnVudGltZUVuZHBvaW50QXJuOiB0aGlzLmFnZW50UnVudGltZUVuZHBvaW50QXJuLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgUnVudGltZSBFbmRwb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVFbmRwb2ludEF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lRW5kcG9pbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bnRpbWUgZW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBwYXJlbnQgYWdlbnQgcnVudGltZVxuICAgKi9cbiAgcmVhZG9ubHkgYWdlbnRSdW50aW1lQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBydW50aW1lIGVuZHBvaW50XG4gICAqIEBkZWZhdWx0IC0gU3RhdHVzIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpdmUgdmVyc2lvbiBvZiB0aGUgYWdlbnQgcnVudGltZSB0aGF0IGlzIGN1cnJlbnRseSBzZXJ2aW5nIHJlcXVlc3RzXG4gICAqIEBkZWZhdWx0IC0gTGl2ZSB2ZXJzaW9uIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZlcnNpb24gdGhlIGVuZHBvaW50IGlzIHRyYW5zaXRpb25pbmcgdG8gKGR1cmluZyB1cGRhdGVzKVxuICAgKiBAZGVmYXVsdCAtIFRhcmdldCB2ZXJzaW9uIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVuZHBvaW50IHdhcyBjcmVhdGVkXG4gICAqIEBkZWZhdWx0IC0gQ3JlYXRpb24gdGltZSBub3QgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGVuZHBvaW50IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICogQGRlZmF1bHQgLSBMYXN0IHVwZGF0ZSB0aW1lIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxhc3RVcGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKiBAZGVmYXVsdCAtIEVuZHBvaW50IElEIG5vdCBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50SWQ/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Construct } from 'constructs';
|
|
2
|
-
import {
|
|
1
|
+
import type { Construct } from 'constructs';
|
|
2
|
+
import type { IRuntimeEndpoint, RuntimeEndpointAttributes } from './runtime-endpoint-base';
|
|
3
|
+
import { RuntimeEndpointBase } from './runtime-endpoint-base';
|
|
3
4
|
/******************************************************************************
|
|
4
5
|
* Props
|
|
5
6
|
*****************************************************************************/
|