@aws-solutions-constructs/aws-route53-apigateway 2.28.0 → 2.30.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 +83 -19
- package/README.md +1 -1
- package/lib/index.d.ts +1 -3
- package/lib/index.js +2 -2
- package/package.json +6 -6
- package/test/integ.dummyTest.d.ts +1 -1
- package/test/integ.dummyTest.js +2 -2
- package/test/test.route53-apigateway.test.d.ts +1 -1
- package/test/test.route53-apigateway.test.js +2 -2
package/.jsii
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/core": "2.
|
|
12
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.30.0",
|
|
12
|
+
"aws-cdk-lib": "^2.57.0",
|
|
13
13
|
"constructs": "^10.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencyClosure": {
|
|
@@ -1015,6 +1015,19 @@
|
|
|
1015
1015
|
}
|
|
1016
1016
|
}
|
|
1017
1017
|
},
|
|
1018
|
+
"aws-cdk-lib.aws_docdbelastic": {
|
|
1019
|
+
"targets": {
|
|
1020
|
+
"dotnet": {
|
|
1021
|
+
"namespace": "Amazon.CDK.AWS.DocDBElastic"
|
|
1022
|
+
},
|
|
1023
|
+
"java": {
|
|
1024
|
+
"package": "software.amazon.awscdk.services.docdbelastic"
|
|
1025
|
+
},
|
|
1026
|
+
"python": {
|
|
1027
|
+
"module": "aws_cdk.aws_docdbelastic"
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1018
1031
|
"aws-cdk-lib.aws_dynamodb": {
|
|
1019
1032
|
"targets": {
|
|
1020
1033
|
"dotnet": {
|
|
@@ -1431,6 +1444,19 @@
|
|
|
1431
1444
|
}
|
|
1432
1445
|
}
|
|
1433
1446
|
},
|
|
1447
|
+
"aws-cdk-lib.aws_grafana": {
|
|
1448
|
+
"targets": {
|
|
1449
|
+
"dotnet": {
|
|
1450
|
+
"namespace": "Amazon.CDK.AWS.Grafana"
|
|
1451
|
+
},
|
|
1452
|
+
"java": {
|
|
1453
|
+
"package": "software.amazon.awscdk.services.grafana"
|
|
1454
|
+
},
|
|
1455
|
+
"python": {
|
|
1456
|
+
"module": "aws_cdk.aws_grafana"
|
|
1457
|
+
}
|
|
1458
|
+
}
|
|
1459
|
+
},
|
|
1434
1460
|
"aws-cdk-lib.aws_greengrass": {
|
|
1435
1461
|
"targets": {
|
|
1436
1462
|
"dotnet": {
|
|
@@ -2211,6 +2237,32 @@
|
|
|
2211
2237
|
}
|
|
2212
2238
|
}
|
|
2213
2239
|
},
|
|
2240
|
+
"aws-cdk-lib.aws_oam": {
|
|
2241
|
+
"targets": {
|
|
2242
|
+
"dotnet": {
|
|
2243
|
+
"namespace": "Amazon.CDK.AWS.Oam"
|
|
2244
|
+
},
|
|
2245
|
+
"java": {
|
|
2246
|
+
"package": "software.amazon.awscdk.services.oam"
|
|
2247
|
+
},
|
|
2248
|
+
"python": {
|
|
2249
|
+
"module": "aws_cdk.aws_oam"
|
|
2250
|
+
}
|
|
2251
|
+
}
|
|
2252
|
+
},
|
|
2253
|
+
"aws-cdk-lib.aws_opensearchserverless": {
|
|
2254
|
+
"targets": {
|
|
2255
|
+
"dotnet": {
|
|
2256
|
+
"namespace": "Amazon.CDK.AWS.OpenSearchServerless"
|
|
2257
|
+
},
|
|
2258
|
+
"java": {
|
|
2259
|
+
"package": "software.amazon.awscdk.services.opensearchserverless"
|
|
2260
|
+
},
|
|
2261
|
+
"python": {
|
|
2262
|
+
"module": "aws_cdk.aws_opensearchserverless"
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
},
|
|
2214
2266
|
"aws-cdk-lib.aws_opensearchservice": {
|
|
2215
2267
|
"targets": {
|
|
2216
2268
|
"dotnet": {
|
|
@@ -2315,6 +2367,19 @@
|
|
|
2315
2367
|
}
|
|
2316
2368
|
}
|
|
2317
2369
|
},
|
|
2370
|
+
"aws-cdk-lib.aws_pipes": {
|
|
2371
|
+
"targets": {
|
|
2372
|
+
"dotnet": {
|
|
2373
|
+
"namespace": "Amazon.CDK.AWS.Pipes"
|
|
2374
|
+
},
|
|
2375
|
+
"java": {
|
|
2376
|
+
"package": "software.amazon.awscdk.services.pipes"
|
|
2377
|
+
},
|
|
2378
|
+
"python": {
|
|
2379
|
+
"module": "aws_cdk.aws_pipes"
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2382
|
+
},
|
|
2318
2383
|
"aws-cdk-lib.aws_qldb": {
|
|
2319
2384
|
"targets": {
|
|
2320
2385
|
"dotnet": {
|
|
@@ -3254,7 +3319,7 @@
|
|
|
3254
3319
|
},
|
|
3255
3320
|
"description": "CDK constructs for connecting an Amazon Route53 domain to an API Gateway.",
|
|
3256
3321
|
"homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
|
|
3257
|
-
"jsiiVersion": "1.
|
|
3322
|
+
"jsiiVersion": "1.72.0 (build 4b8828b)",
|
|
3258
3323
|
"keywords": [
|
|
3259
3324
|
"aws",
|
|
3260
3325
|
"cdk",
|
|
@@ -3273,7 +3338,7 @@
|
|
|
3273
3338
|
},
|
|
3274
3339
|
"name": "@aws-solutions-constructs/aws-route53-apigateway",
|
|
3275
3340
|
"readme": {
|
|
3276
|
-
"markdown": "# aws-route53-apigateway module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> All classes are under active development and subject to non-backward compatible changes or removal in any\n> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.\n> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_route53_apigateway`|\n| Typescript|`@aws-solutions-constructs/aws-route53-apigateway`|\n| Java|`software.amazon.awsconstructs.services.route53apigateway`|\n\n## Overview\n\nThis AWS Solutions Construct implements an Amazon Route 53 connected to a configured Amazon API Gateway REST API.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport * as route53 from \"aws-cdk-lib/aws-route53\";\nimport * as acm from \"aws-cdk-lib/aws-certificatemanager\";\nimport { Route53ToApiGateway } from '@aws-solutions-constructs/aws-route53-apigateway';\n\n// The construct requires an existing REST API, this can be created in raw CDK or extracted\n// from a previously instantiated construct that created an API Gateway REST API\nconst existingRestApi = previouslyCreatedApigatewayToLambdaConstruct.apiGateway;\n\n// domainName must match existing hosted zone in your account and the existing certificate\nconst ourHostedZone = route53.HostedZone.fromLookup(this, 'HostedZone', {\n domainName: \"example.com\",\n});\n\nconst certificate = acm.Certificate.fromCertificateArn(\n this,\n \"fake-cert\",\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\"\n);\n\n// This construct can only be attached to a configured API Gateway.\nnew Route53ToApiGateway(this, 'Route53ToApiGatewayPattern', {\n existingApiGatewayInterface: existingRestApi,\n existingHostedZoneInterface: ourHostedZone,\n publicApi: true,\n existingCertificateInterface: certificate\n});\n```\n\nPython\n```python\nfrom aws_solutions_constructs.aws_route53_apigateway import Route53ToApiGateway\nfrom aws_cdk import (\n aws_route53 as route53,\n aws_certificatemanager as acm,\n Stack\n)\nfrom constructs import Construct\n\n# The construct requires an existing REST API, this can be created in raw CDK or extracted\n# from a previously instantiated construct that created an API Gateway REST API\nexistingRestApi = previouslyCreatedApigatewayToLambdaConstruct.apiGateway\n\n# domain_name must match existing hosted zone in your account and the existing certificate\nourHostedZone = route53.HostedZone.from_lookup(self, 'HostedZone',\n domain_name=\"example.com\",\n )\n\n# Obtain a pre-existing certificate from your account\ncertificate = acm.Certificate.from_certificate_arn(\n self,\n 'existing-cert',\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\"\n)\n\n# This construct can only be attached to a configured API Gateway.\nRoute53ToApiGateway(self, 'Route53ToApigatewayPattern',\n existing_api_gateway_interface=existingRestApi,\n existing_hosted_zone_interface=ourHostedZone,\n public_api=True,\n existing_certificate_interface=certificate\n )\n\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.services.route53.*;\nimport software.amazon.awscdk.services.apigateway.*;\nimport software.amazon.awscdk.services.certificatemanager.*;\nimport software.amazon.awsconstructs.services.route53apigateway.*;\n\n// The construct requires an existing REST API, this can be created in raw CDK\n// or extracted from a previously instantiated construct that created an API\n// Gateway REST API\nfinal IRestApi existingRestApi = previouslyCreatedApigatewayToLambdaConstruct.getApiGateway();\n\n// domainName must match existing hosted zone in your account and the existing certificate\nfinal IHostedZone ourHostedZone = HostedZone.fromLookup(this, \"HostedZone\",\n new HostedZoneProviderProps.Builder()\n .domainName(\"example.com\")\n .build());\n\n// Obtain a pre-existing certificate from your account\nfinal ICertificate certificate = Certificate.fromCertificateArn(\n this,\n \"existing-cert\",\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\");\n\n// This construct can only be attached to a configured API Gateway.\nnew Route53ToApiGateway(this, \"Route53ToApiGatewayPattern\",\n new Route53ToApiGatewayProps.Builder()\n .existingApiGatewayInterface(existingRestApi)\n .existingHostedZoneInterface(ourHostedZone)\n .publicApi(true)\n .existingCertificateInterface(certificate)\n .build());\n```\n\n## Pattern Construct Props\n\nThis construct cannot create a new Public Hosted Zone, if you are creating a public API you must supply an existing Public Hosted Zone that will be reconfigured with a new Alias record. Public Hosted Zones are configured with public domain names and are not well suited to be launched and torn down dynamically, so this construct will only reconfigure existing Public Hosted Zones.\n\nThis construct can create Private Hosted Zones. If you want a Private Hosted Zone, then you can either provide an existing Private Hosted Zone or a privateHostedZoneProps value with at least the Domain Name defined. If you are using privateHostedZoneProps, an existing wildcard certificate (*.example.com) must be issued from a previous domain to be used in the newly created Private Hosted Zone. New certificate creation and validation do not take place in this construct. A private Rest API already exists in a VPC, so that VPC must be provided in the existingVpc prop. There is no scenario where this construct can create a new VPC (since it can't create a new API), so the vpcProps property is not supported on this construct.\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n| publicApi | boolean | Whether the construct is deploying a private or public API. This has implications for the Hosted Zone and VPC. |\n| privateHostedZoneProps? | [route53.PrivateHostedZoneProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.PrivateHostedZoneProps.html) | Optional custom properties for a new Private Hosted Zone. Cannot be specified for a public API. Cannot specify a VPC, it will use the VPC in existingVpc or the VPC created by the construct. Providing both this and existingHostedZoneInterface is an error. |\n| existingHostedZoneInterface? | [route53.IHostedZone](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.IHostedZone.html) | Existing Public or Private Hosted Zone (type must match publicApi setting). Specifying both this and privateHostedZoneProps is an error. If this is a Private Hosted Zone, the associated VPC must be provided as the existingVpc property.|\n| existingVpc? | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | An existing VPC in which to deploy the construct.|\n|existingApiGatewayInterface|[api.IRestApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IRestApi.html)|The existing API Gateway instance that will be connected to the Route 53 hosted zone. *Note that Route 53 can only be connected to a configured API Gateway, so this construct only accepts an existing IRestApi and does not accept apiGatewayProps.*|\n| existingCertificateInterface |[certificatemanager.ICertificate](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.ICertificate.html)| An existing AWS Certificate Manager certificate for your custom domain name.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|hostedZone|[route53.IHostedZone](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.IHostedZone.html)|The hosted zone used by the construct (whether created by the construct or provided by the client) |\n| vpc? | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | The VPC used by the construct. |\n|apiGateway|[api.RestApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html)|Returns an instance of the API Gateway REST API created by the pattern.|\n|certificate|[certificatemanager.ICertificate](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.ICertificate.html)| THe certificate used by the construct (whether create by the construct or provided by the client)\n\n## Default settings\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon Route53\n* Adds an ALIAS record to the new or provided Hosted Zone that routes to the construct's API Gateway\n\n### Amazon API Gateway\n* User provided API Gateway object is used as-is\n* Sets up custom domain name mapping to API\n\n## Architecture\n\n\n\n***\n© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
|
|
3341
|
+
"markdown": "# aws-route53-apigateway module\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> All classes are under active development and subject to non-backward compatible changes or removal in any\n> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.\n> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.\n\n---\n<!--END STABILITY BANNER-->\n\n| **Reference Documentation**:| <span style=\"font-weight: normal\">https://docs.aws.amazon.com/solutions/latest/constructs/</span>|\n|:-------------|:-------------|\n<div style=\"height:8px\"></div>\n\n| **Language** | **Package** |\n|:-------------|-----------------|\n| Python|`aws_solutions_constructs.aws_route53_apigateway`|\n| Typescript|`@aws-solutions-constructs/aws-route53-apigateway`|\n| Java|`software.amazon.awsconstructs.services.route53apigateway`|\n\n## Overview\n\nThis AWS Solutions Construct implements an Amazon Route 53 connected to a configured Amazon API Gateway REST API.\n\nHere is a minimal deployable pattern definition:\n\nTypescript\n``` typescript\nimport { Construct } from 'constructs';\nimport { Stack, StackProps } from 'aws-cdk-lib';\nimport * as route53 from \"aws-cdk-lib/aws-route53\";\nimport * as acm from \"aws-cdk-lib/aws-certificatemanager\";\nimport { Route53ToApiGateway } from '@aws-solutions-constructs/aws-route53-apigateway';\n\n// The construct requires an existing REST API, this can be created in raw CDK or extracted\n// from a previously instantiated construct that created an API Gateway REST API\nconst existingRestApi = previouslyCreatedApigatewayToLambdaConstruct.apiGateway;\n\n// domainName must match existing hosted zone in your account and the existing certificate\nconst ourHostedZone = route53.HostedZone.fromLookup(this, 'HostedZone', {\n domainName: \"example.com\",\n});\n\nconst certificate = acm.Certificate.fromCertificateArn(\n this,\n \"fake-cert\",\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\"\n);\n\n// This construct can only be attached to a configured API Gateway.\nnew Route53ToApiGateway(this, 'Route53ToApiGatewayPattern', {\n existingApiGatewayInterface: existingRestApi,\n existingHostedZoneInterface: ourHostedZone,\n publicApi: true,\n existingCertificateInterface: certificate\n});\n```\n\nPython\n```python\nfrom aws_solutions_constructs.aws_route53_apigateway import Route53ToApiGateway\nfrom aws_cdk import (\n aws_route53 as route53,\n aws_certificatemanager as acm,\n Stack\n)\nfrom constructs import Construct\n\n# The construct requires an existing REST API, this can be created in raw CDK or extracted\n# from a previously instantiated construct that created an API Gateway REST API\nexistingRestApi = previouslyCreatedApigatewayToLambdaConstruct.apiGateway\n\n# domain_name must match existing hosted zone in your account and the existing certificate\nourHostedZone = route53.HostedZone.from_lookup(self, 'HostedZone',\n domain_name=\"example.com\",\n )\n\n# Obtain a pre-existing certificate from your account\ncertificate = acm.Certificate.from_certificate_arn(\n self,\n 'existing-cert',\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\"\n)\n\n# This construct can only be attached to a configured API Gateway.\nRoute53ToApiGateway(self, 'Route53ToApigatewayPattern',\n existing_api_gateway_interface=existingRestApi,\n existing_hosted_zone_interface=ourHostedZone,\n public_api=True,\n existing_certificate_interface=certificate\n )\n\n```\n\nJava\n``` java\nimport software.constructs.Construct;\n\nimport software.amazon.awscdk.Stack;\nimport software.amazon.awscdk.StackProps;\nimport software.amazon.awscdk.services.route53.*;\nimport software.amazon.awscdk.services.apigateway.*;\nimport software.amazon.awscdk.services.certificatemanager.*;\nimport software.amazon.awsconstructs.services.route53apigateway.*;\n\n// The construct requires an existing REST API, this can be created in raw CDK\n// or extracted from a previously instantiated construct that created an API\n// Gateway REST API\nfinal IRestApi existingRestApi = previouslyCreatedApigatewayToLambdaConstruct.getApiGateway();\n\n// domainName must match existing hosted zone in your account and the existing certificate\nfinal IHostedZone ourHostedZone = HostedZone.fromLookup(this, \"HostedZone\",\n new HostedZoneProviderProps.Builder()\n .domainName(\"example.com\")\n .build());\n\n// Obtain a pre-existing certificate from your account\nfinal ICertificate certificate = Certificate.fromCertificateArn(\n this,\n \"existing-cert\",\n \"arn:aws:acm:us-east-1:123456789012:certificate/11112222-3333-1234-1234-123456789012\");\n\n// This construct can only be attached to a configured API Gateway.\nnew Route53ToApiGateway(this, \"Route53ToApiGatewayPattern\",\n new Route53ToApiGatewayProps.Builder()\n .existingApiGatewayInterface(existingRestApi)\n .existingHostedZoneInterface(ourHostedZone)\n .publicApi(true)\n .existingCertificateInterface(certificate)\n .build());\n```\n\n## Pattern Construct Props\n\nThis construct cannot create a new Public Hosted Zone, if you are creating a public API you must supply an existing Public Hosted Zone that will be reconfigured with a new Alias record. Public Hosted Zones are configured with public domain names and are not well suited to be launched and torn down dynamically, so this construct will only reconfigure existing Public Hosted Zones.\n\nThis construct can create Private Hosted Zones. If you want a Private Hosted Zone, then you can either provide an existing Private Hosted Zone or a privateHostedZoneProps value with at least the Domain Name defined. If you are using privateHostedZoneProps, an existing wildcard certificate (*.example.com) must be issued from a previous domain to be used in the newly created Private Hosted Zone. New certificate creation and validation do not take place in this construct. A private Rest API already exists in a VPC, so that VPC must be provided in the existingVpc prop. There is no scenario where this construct can create a new VPC (since it can't create a new API), so the vpcProps property is not supported on this construct.\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n| publicApi | boolean | Whether the construct is deploying a private or public API. This has implications for the Hosted Zone and VPC. |\n| privateHostedZoneProps? | [route53.PrivateHostedZoneProps](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.PrivateHostedZoneProps.html) | Optional custom properties for a new Private Hosted Zone. Cannot be specified for a public API. Cannot specify a VPC, it will use the VPC in existingVpc or the VPC created by the construct. Providing both this and existingHostedZoneInterface is an error. |\n| existingHostedZoneInterface? | [route53.IHostedZone](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.IHostedZone.html) | Existing Public or Private Hosted Zone (type must match publicApi setting). Specifying both this and privateHostedZoneProps is an error. If this is a Private Hosted Zone, the associated VPC must be provided as the existingVpc property.|\n| existingVpc? | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | An existing VPC in which to deploy the construct.|\n|existingApiGatewayInterface|[api.IRestApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IRestApi.html)|The existing API Gateway instance that will be connected to the Route 53 hosted zone. *Note that Route 53 can only be connected to a configured API Gateway, so this construct only accepts an existing IRestApi and does not accept apiGatewayProps.*|\n| existingCertificateInterface |[certificatemanager.ICertificate](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.ICertificate.html)| An existing AWS Certificate Manager certificate for your custom domain name.|\n\n## Pattern Properties\n\n| **Name** | **Type** | **Description** |\n|:-------------|:----------------|-----------------|\n|hostedZone|[route53.IHostedZone](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53.IHostedZone.html)|The hosted zone used by the construct (whether created by the construct or provided by the client) |\n| vpc? | [ec2.IVpc](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.IVpc.html) | The VPC used by the construct. |\n|apiGateway|[api.RestApi](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.RestApi.html)|Returns an instance of the API Gateway REST API created by the pattern.|\n|certificate|[certificatemanager.ICertificate](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.ICertificate.html)| THe certificate used by the construct (whether create by the construct or provided by the client)\n\n## Default settings\nOut of the box implementation of the Construct without any override will set the following defaults:\n\n### Amazon Route53\n* Adds an ALIAS record to the new or provided Hosted Zone that routes to the construct's API Gateway\n\n### Amazon API Gateway\n* User provided API Gateway object is used as-is\n* Sets up custom domain name mapping to API\n\n## Architecture\n\n\n\n***\n© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n"
|
|
3277
3342
|
},
|
|
3278
3343
|
"repository": {
|
|
3279
3344
|
"directory": "source/patterns/@aws-solutions-constructs/aws-route53-apigateway",
|
|
@@ -3323,7 +3388,7 @@
|
|
|
3323
3388
|
},
|
|
3324
3389
|
"locationInModule": {
|
|
3325
3390
|
"filename": "lib/index.ts",
|
|
3326
|
-
"line":
|
|
3391
|
+
"line": 85
|
|
3327
3392
|
},
|
|
3328
3393
|
"parameters": [
|
|
3329
3394
|
{
|
|
@@ -3358,7 +3423,7 @@
|
|
|
3358
3423
|
"kind": "class",
|
|
3359
3424
|
"locationInModule": {
|
|
3360
3425
|
"filename": "lib/index.ts",
|
|
3361
|
-
"line":
|
|
3426
|
+
"line": 72
|
|
3362
3427
|
},
|
|
3363
3428
|
"name": "Route53ToApiGateway",
|
|
3364
3429
|
"properties": [
|
|
@@ -3366,7 +3431,7 @@
|
|
|
3366
3431
|
"immutable": true,
|
|
3367
3432
|
"locationInModule": {
|
|
3368
3433
|
"filename": "lib/index.ts",
|
|
3369
|
-
"line":
|
|
3434
|
+
"line": 75
|
|
3370
3435
|
},
|
|
3371
3436
|
"name": "apiGateway",
|
|
3372
3437
|
"type": {
|
|
@@ -3377,7 +3442,7 @@
|
|
|
3377
3442
|
"immutable": true,
|
|
3378
3443
|
"locationInModule": {
|
|
3379
3444
|
"filename": "lib/index.ts",
|
|
3380
|
-
"line":
|
|
3445
|
+
"line": 76
|
|
3381
3446
|
},
|
|
3382
3447
|
"name": "certificate",
|
|
3383
3448
|
"type": {
|
|
@@ -3388,7 +3453,7 @@
|
|
|
3388
3453
|
"immutable": true,
|
|
3389
3454
|
"locationInModule": {
|
|
3390
3455
|
"filename": "lib/index.ts",
|
|
3391
|
-
"line":
|
|
3456
|
+
"line": 73
|
|
3392
3457
|
},
|
|
3393
3458
|
"name": "hostedZone",
|
|
3394
3459
|
"type": {
|
|
@@ -3399,7 +3464,7 @@
|
|
|
3399
3464
|
"immutable": true,
|
|
3400
3465
|
"locationInModule": {
|
|
3401
3466
|
"filename": "lib/index.ts",
|
|
3402
|
-
"line":
|
|
3467
|
+
"line": 74
|
|
3403
3468
|
},
|
|
3404
3469
|
"name": "vpc",
|
|
3405
3470
|
"optional": true,
|
|
@@ -3433,7 +3498,7 @@
|
|
|
3433
3498
|
"immutable": true,
|
|
3434
3499
|
"locationInModule": {
|
|
3435
3500
|
"filename": "lib/index.ts",
|
|
3436
|
-
"line":
|
|
3501
|
+
"line": 60
|
|
3437
3502
|
},
|
|
3438
3503
|
"name": "existingApiGatewayInterface",
|
|
3439
3504
|
"type": {
|
|
@@ -3451,7 +3516,7 @@
|
|
|
3451
3516
|
"immutable": true,
|
|
3452
3517
|
"locationInModule": {
|
|
3453
3518
|
"filename": "lib/index.ts",
|
|
3454
|
-
"line":
|
|
3519
|
+
"line": 66
|
|
3455
3520
|
},
|
|
3456
3521
|
"name": "existingCertificateInterface",
|
|
3457
3522
|
"type": {
|
|
@@ -3461,14 +3526,13 @@
|
|
|
3461
3526
|
{
|
|
3462
3527
|
"abstract": true,
|
|
3463
3528
|
"docs": {
|
|
3464
|
-
"default": "- None",
|
|
3465
3529
|
"remarks": "This value has implications\nfor the VPC, the type of Hosted Zone and the Application Load Balancer",
|
|
3466
3530
|
"summary": "Whether to create a public or private API."
|
|
3467
3531
|
},
|
|
3468
3532
|
"immutable": true,
|
|
3469
3533
|
"locationInModule": {
|
|
3470
3534
|
"filename": "lib/index.ts",
|
|
3471
|
-
"line":
|
|
3535
|
+
"line": 32
|
|
3472
3536
|
},
|
|
3473
3537
|
"name": "publicApi",
|
|
3474
3538
|
"type": {
|
|
@@ -3485,7 +3549,7 @@
|
|
|
3485
3549
|
"immutable": true,
|
|
3486
3550
|
"locationInModule": {
|
|
3487
3551
|
"filename": "lib/index.ts",
|
|
3488
|
-
"line":
|
|
3552
|
+
"line": 47
|
|
3489
3553
|
},
|
|
3490
3554
|
"name": "existingHostedZoneInterface",
|
|
3491
3555
|
"optional": true,
|
|
@@ -3503,7 +3567,7 @@
|
|
|
3503
3567
|
"immutable": true,
|
|
3504
3568
|
"locationInModule": {
|
|
3505
3569
|
"filename": "lib/index.ts",
|
|
3506
|
-
"line":
|
|
3570
|
+
"line": 54
|
|
3507
3571
|
},
|
|
3508
3572
|
"name": "existingVpc",
|
|
3509
3573
|
"optional": true,
|
|
@@ -3521,7 +3585,7 @@
|
|
|
3521
3585
|
"immutable": true,
|
|
3522
3586
|
"locationInModule": {
|
|
3523
3587
|
"filename": "lib/index.ts",
|
|
3524
|
-
"line":
|
|
3588
|
+
"line": 40
|
|
3525
3589
|
},
|
|
3526
3590
|
"name": "privateHostedZoneProps",
|
|
3527
3591
|
"optional": true,
|
|
@@ -3533,6 +3597,6 @@
|
|
|
3533
3597
|
"symbolId": "lib/index:Route53ToApiGatewayProps"
|
|
3534
3598
|
}
|
|
3535
3599
|
},
|
|
3536
|
-
"version": "2.
|
|
3537
|
-
"fingerprint": "
|
|
3600
|
+
"version": "2.30.0",
|
|
3601
|
+
"fingerprint": "tUymusr2uvzw7WcyXyO6dRe0U2Cfep44MJ1w5OWn5Qs="
|
|
3538
3602
|
}
|
package/README.md
CHANGED
|
@@ -173,4 +173,4 @@ Out of the box implementation of the Construct without any override will set the
|
|
|
173
173
|

|
|
174
174
|
|
|
175
175
|
***
|
|
176
|
-
© Copyright
|
|
176
|
+
© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -22,8 +22,6 @@ export interface Route53ToApiGatewayProps {
|
|
|
22
22
|
/**
|
|
23
23
|
* Whether to create a public or private API. This value has implications
|
|
24
24
|
* for the VPC, the type of Hosted Zone and the Application Load Balancer
|
|
25
|
-
*
|
|
26
|
-
* @default - None
|
|
27
25
|
*/
|
|
28
26
|
readonly publicApi: boolean;
|
|
29
27
|
/**
|
package/lib/index.js
CHANGED
|
@@ -74,5 +74,5 @@ class Route53ToApiGateway extends constructs_1.Construct {
|
|
|
74
74
|
}
|
|
75
75
|
exports.Route53ToApiGateway = Route53ToApiGateway;
|
|
76
76
|
_a = JSII_RTTI_SYMBOL_1;
|
|
77
|
-
Route53ToApiGateway[_a] = { fqn: "@aws-solutions-constructs/aws-route53-apigateway.Route53ToApiGateway", version: "2.
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFFM0QsMkRBQTJEO0FBRTNELHdGQUF3RjtBQUN4RiwyQ0FBdUM7QUFpRHZDOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxzQkFBUztJQUtoRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsNEJBQTRCLENBQUM7UUFFdEQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUM5QjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQztZQUVwRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQzthQUN2RjtZQUNELElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7YUFDN0c7U0FDRjthQUFNLEVBQUUsaUNBQWlDO1lBQ3hDLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO2FBQzdGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUU7b0JBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztpQkFDL0Y7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFO29CQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7aUJBQ3ZHO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO29CQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7aUJBQ3hFO2dCQUNELElBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFHO29CQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUZBQWlGLENBQUMsQ0FBQztpQkFDcEc7Z0JBQ0QsTUFBTSxpQkFBaUIsR0FBbUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUN4RjtTQUNGO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLDJCQUEwQyxDQUFDO1FBRW5FLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFFSCxtRUFBbUU7UUFDbkUsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUNuRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDaEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwRUgsa0RBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjIgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgY2VydGlmaWNhdGVtYW5hZ2VyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXInO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBSb3V0ZTUzVG9BcGlHYXRld2F5IGNsYXNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlNTNUb0FwaUdhdGV3YXlQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIHB1YmxpYyBvciBwcml2YXRlIEFQSS4gVGhpcyB2YWx1ZSBoYXMgaW1wbGljYXRpb25zXG4gICAqIGZvciB0aGUgVlBDLCB0aGUgdHlwZSBvZiBIb3N0ZWQgWm9uZSBhbmQgdGhlIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXJcbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBcGk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzIGZvciBhIG5ldyBQcml2YXRlIEhvc3RlZCBab25lLiBDYW5ub3QgYmUgc3BlY2lmaWVkIGZvciBhXG4gICAqIHB1YmxpYyBBUEkuIENhbm5vdCBzcGVjaWZ5IGEgVlBDLCBpdCB3aWxsIHVzZSB0aGUgVlBDIGluIGV4aXN0aW5nVnBjIG9yIHRoZSBWUEMgY3JlYXRlZCBieSB0aGUgY29uc3RydWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2UgaXMgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcz86IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lLiBJZiBhIFByaXZhdGUgSG9zdGVkIFpvbmUsIG11c3RcbiAgICogZXhpc3QgaW4gdGhlIHNhbWUgVlBDIHNwZWNpZmllZCBpbiBleGlzdGluZ1ZwY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZT86IHJvdXRlNTMuSUhvc3RlZFpvbmUsXG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyBWUEMuIElmIGFuIGV4aXN0aW5nIFByaXZhdGUgSG9zdGVkIFpvbmUgaXMgcHJvdmlkZWQsXG4gICAqIHRoaXMgdmFsdWUgbXVzdCBiZSB0aGUgVlBDIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSByZXNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdWcGM/OiBlYzIuSVZwYyxcbiAgLyoqXG4gICAqIFRoZSBleGlzdGluZyBBUEkgR2F0ZXdheSBpbnN0YW5jZSB0aGF0IHdpbGwgYmUgcHJvdGVjdGVkIHdpdGggdGhlIFJvdXRlIDUzIGhvc3RlZCB6b25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogYXBpLklSZXN0QXBpLFxuICAvKipcbiAgICogQW4gZXhpc3RpbmcgQVdTIENlcnRpZmljYXRlIE1hbmFnZXIgY2VydGlmaWNhdGUgZm9yIHlvdXIgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmdWFsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIFJvdXRlNTNUb0FwaUdhdGV3YXkgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZTUzVG9BcGlHYXRld2F5IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG4gIHB1YmxpYyByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXk6IGFwaS5SZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBSb3V0ZTUzVG9BcGlHYXRld2F5IGNsYXNzLlxuICAgKiBAcGFyYW0ge2Nkay5BcHB9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Um91dGU1M1RvQXBpR2F0ZXdheVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBkZWZhdWx0cy5DaGVja1Byb3BzKHByb3BzKTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBwcm9wcy5leGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlO1xuXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aGlzLnZwYyA9IHByb3BzLmV4aXN0aW5nVnBjO1xuICAgIH1cblxuICAgIC8vIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlO1xuXG4gICAgICBpZiAocHJvcHMuZXhpc3RpbmdWcGMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHJvdmlkZSBhbiBleGlzdGluZyBWUEMgdG8gYW4gZXhpc3RpbmcgUHJpdmF0ZSBIb3N0ZWQgWm9uZS4nKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGVpdGhlciBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2Ugb3IgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgYnV0IG5vdCBib3RoLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7IC8vIENyZWF0aW5nIGEgUHJpdmF0ZSBIb3N0ZWQgWm9uZVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FwaSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1B1YmxpYyBBUElzIHJlcXVpcmUgYW4gZXhpc3RpbmdIb3N0ZWRab25lIGJlIHBhc3NlZCBpbiB0aGUgUHJvcHMgb2JqZWN0LicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzLnZwYykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWxsIFZQQyBzcGVjcyBtdXN0IGJlIHByb3ZpZGVkIGF0IHRoZSBDb25zdHJ1Y3QgbGV2ZWwgaW4gUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcy56b25lTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBzdXBwbHkgem9uZU5hbWUgZm9yIFByaXZhdGUgSG9zdGVkIFpvbmUgUHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCAhdGhpcy52cGMgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHNwZWNpZnkgYW4gZXhpc3RpbmdWUEMgZm9yIHRoZSBQcml2YXRlIEhvc3RlZCBab25lIGluIHRoZSBjb25zdHJ1Y3QgcHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWFudWZhY3R1cmVkUHJvcHM6IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyA9IGRlZmF1bHRzLm92ZXJyaWRlUHJvcHMocHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgeyB2cGM6IHRoaXMudnBjIH0pO1xuICAgICAgICB0aGlzLmhvc3RlZFpvbmUgPSBuZXcgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZSh0aGlzLCBgJHtpZH0tem9uZWAsIG1hbnVmYWN0dXJlZFByb3BzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IElSZXN0QXBpIHRvIFJlc3RBcGlcbiAgICB0aGlzLmFwaUdhdGV3YXkgPSBwcm9wcy5leGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2UgYXMgYXBpLlJlc3RBcGk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIGRvbWFpbiBuYW1lIGluIEFQSSBHYXRld2F5XG4gICAgdGhpcy5hcGlHYXRld2F5LmFkZERvbWFpbk5hbWUoJ0N1c3RvbURvbWFpbk5hbWUnLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5jZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIEEgUmVjb3JkIGluIGN1c3RvbSBkb21haW4gdG8gcm91dGUgdHJhZmZpYyB0byBBUEkgR2F0ZXdheVxuICAgIG5ldyByb3V0ZTUzLkFSZWNvcmQodGhpcywgJ0N1c3RvbURvbWFpbkFsaWFzUmVjb3JkJywge1xuICAgICAgem9uZTogdGhpcy5ob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQXBpR2F0ZXdheSh0aGlzLmFwaUdhdGV3YXkpKVxuICAgIH0pO1xuICB9XG59Il19
|
|
77
|
+
Route53ToApiGateway[_a] = { fqn: "@aws-solutions-constructs/aws-route53-apigateway.Route53ToApiGateway", version: "2.30.0" };
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWVBLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFFM0QsMkRBQTJEO0FBRTNELHdGQUF3RjtBQUN4RiwyQ0FBdUM7QUErQ3ZDOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxzQkFBUztJQUtoRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsNEJBQTRCLENBQUM7UUFFdEQsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUM5QjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsRUFBRTtZQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQztZQUVwRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQzthQUN2RjtZQUNELElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7YUFDN0c7U0FDRjthQUFNLEVBQUUsaUNBQWlDO1lBQ3hDLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO2FBQzdGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUU7b0JBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztpQkFDL0Y7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFO29CQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7aUJBQ3ZHO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFO29CQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7aUJBQ3hFO2dCQUNELElBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFHO29CQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUZBQWlGLENBQUMsQ0FBQztpQkFDcEc7Z0JBQ0QsTUFBTSxpQkFBaUIsR0FBbUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQzthQUN4RjtTQUNGO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLDJCQUEwQyxDQUFDO1FBRW5FLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ3BDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7UUFFSCxtRUFBbUU7UUFDbkUsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUNuRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDaEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwRUgsa0RBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGNlcnRpZmljYXRlbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgUm91dGU1M1RvQXBpR2F0ZXdheSBjbGFzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBjcmVhdGUgYSBwdWJsaWMgb3IgcHJpdmF0ZSBBUEkuIFRoaXMgdmFsdWUgaGFzIGltcGxpY2F0aW9uc1xuICAgKiBmb3IgdGhlIFZQQywgdGhlIHR5cGUgb2YgSG9zdGVkIFpvbmUgYW5kIHRoZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBcGk6IGJvb2xlYW5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzIGZvciBhIG5ldyBQcml2YXRlIEhvc3RlZCBab25lLiBDYW5ub3QgYmUgc3BlY2lmaWVkIGZvciBhXG4gICAqIHB1YmxpYyBBUEkuIENhbm5vdCBzcGVjaWZ5IGEgVlBDLCBpdCB3aWxsIHVzZSB0aGUgVlBDIGluIGV4aXN0aW5nVnBjIG9yIHRoZSBWUEMgY3JlYXRlZCBieSB0aGUgY29uc3RydWN0LlxuICAgKiBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2UgaXMgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcz86IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lLiBJZiBhIFByaXZhdGUgSG9zdGVkIFpvbmUsIG11c3RcbiAgICogZXhpc3QgaW4gdGhlIHNhbWUgVlBDIHNwZWNpZmllZCBpbiBleGlzdGluZ1ZwY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZT86IHJvdXRlNTMuSUhvc3RlZFpvbmUsXG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyBWUEMuIElmIGFuIGV4aXN0aW5nIFByaXZhdGUgSG9zdGVkIFpvbmUgaXMgcHJvdmlkZWQsXG4gICAqIHRoaXMgdmFsdWUgbXVzdCBiZSB0aGUgVlBDIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSByZXNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdWcGM/OiBlYzIuSVZwYyxcbiAgLyoqXG4gICAqIFRoZSBleGlzdGluZyBBUEkgR2F0ZXdheSBpbnN0YW5jZSB0aGF0IHdpbGwgYmUgcHJvdGVjdGVkIHdpdGggdGhlIFJvdXRlIDUzIGhvc3RlZCB6b25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogYXBpLklSZXN0QXBpLFxuICAvKipcbiAgICogQW4gZXhpc3RpbmcgQVdTIENlcnRpZmljYXRlIE1hbmFnZXIgY2VydGlmaWNhdGUgZm9yIHlvdXIgY3VzdG9tIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmdWFsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG59XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIFJvdXRlNTNUb0FwaUdhdGV3YXkgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZTUzVG9BcGlHYXRld2F5IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG4gIHB1YmxpYyByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXk6IGFwaS5SZXN0QXBpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBSb3V0ZTUzVG9BcGlHYXRld2F5IGNsYXNzLlxuICAgKiBAcGFyYW0ge2Nkay5BcHB9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Um91dGU1M1RvQXBpR2F0ZXdheVByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBkZWZhdWx0cy5DaGVja1Byb3BzKHByb3BzKTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBwcm9wcy5leGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlO1xuXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aGlzLnZwYyA9IHByb3BzLmV4aXN0aW5nVnBjO1xuICAgIH1cblxuICAgIC8vIEV4aXN0aW5nIFB1YmxpYyBvciBQcml2YXRlIEhvc3RlZCBab25lXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlO1xuXG4gICAgICBpZiAocHJvcHMuZXhpc3RpbmdWcGMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHJvdmlkZSBhbiBleGlzdGluZyBWUEMgdG8gYW4gZXhpc3RpbmcgUHJpdmF0ZSBIb3N0ZWQgWm9uZS4nKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwcm92aWRlIGVpdGhlciBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2Ugb3IgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgYnV0IG5vdCBib3RoLicpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7IC8vIENyZWF0aW5nIGEgUHJpdmF0ZSBIb3N0ZWQgWm9uZVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FwaSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1B1YmxpYyBBUElzIHJlcXVpcmUgYW4gZXhpc3RpbmdIb3N0ZWRab25lIGJlIHBhc3NlZCBpbiB0aGUgUHJvcHMgb2JqZWN0LicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5wcml2YXRlSG9zdGVkWm9uZVByb3BzLnZwYykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQWxsIFZQQyBzcGVjcyBtdXN0IGJlIHByb3ZpZGVkIGF0IHRoZSBDb25zdHJ1Y3QgbGV2ZWwgaW4gUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcy56b25lTmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBzdXBwbHkgem9uZU5hbWUgZm9yIFByaXZhdGUgSG9zdGVkIFpvbmUgUHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCAhdGhpcy52cGMgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHNwZWNpZnkgYW4gZXhpc3RpbmdWUEMgZm9yIHRoZSBQcml2YXRlIEhvc3RlZCBab25lIGluIHRoZSBjb25zdHJ1Y3QgcHJvcHMuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWFudWZhY3R1cmVkUHJvcHM6IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmVQcm9wcyA9IGRlZmF1bHRzLm92ZXJyaWRlUHJvcHMocHJvcHMucHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgeyB2cGM6IHRoaXMudnBjIH0pO1xuICAgICAgICB0aGlzLmhvc3RlZFpvbmUgPSBuZXcgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZSh0aGlzLCBgJHtpZH0tem9uZWAsIG1hbnVmYWN0dXJlZFByb3BzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IElSZXN0QXBpIHRvIFJlc3RBcGlcbiAgICB0aGlzLmFwaUdhdGV3YXkgPSBwcm9wcy5leGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2UgYXMgYXBpLlJlc3RBcGk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIGRvbWFpbiBuYW1lIGluIEFQSSBHYXRld2F5XG4gICAgdGhpcy5hcGlHYXRld2F5LmFkZERvbWFpbk5hbWUoJ0N1c3RvbURvbWFpbk5hbWUnLCB7XG4gICAgICBkb21haW5OYW1lOiB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5jZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIEEgUmVjb3JkIGluIGN1c3RvbSBkb21haW4gdG8gcm91dGUgdHJhZmZpYyB0byBBUEkgR2F0ZXdheVxuICAgIG5ldyByb3V0ZTUzLkFSZWNvcmQodGhpcywgJ0N1c3RvbURvbWFpbkFsaWFzUmVjb3JkJywge1xuICAgICAgem9uZTogdGhpcy5ob3N0ZWRab25lLFxuICAgICAgdGFyZ2V0OiByb3V0ZTUzLlJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQXBpR2F0ZXdheSh0aGlzLmFwaUdhdGV3YXkpKVxuICAgIH0pO1xuICB9XG59Il19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-route53-apigateway",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.30.0",
|
|
4
4
|
"description": "CDK constructs for connecting an Amazon Route53 domain to an API Gateway.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-solutions-constructs/core": "2.
|
|
56
|
+
"@aws-solutions-constructs/core": "2.30.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@aws-cdk/assert": "2.
|
|
59
|
+
"@aws-cdk/assert": "2.57.0",
|
|
60
60
|
"@types/jest": "^26.0.22",
|
|
61
61
|
"@types/node": "^10.3.0",
|
|
62
62
|
"prettier": "^2.5.1",
|
|
63
|
-
"aws-cdk-lib": "2.
|
|
63
|
+
"aws-cdk-lib": "2.57.0",
|
|
64
64
|
"constructs": "^10.0.0"
|
|
65
65
|
},
|
|
66
66
|
"jest": {
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"@aws-solutions-constructs/core": "2.
|
|
82
|
-
"aws-cdk-lib": "^2.
|
|
81
|
+
"@aws-solutions-constructs/core": "2.30.0",
|
|
82
|
+
"aws-cdk-lib": "^2.57.0",
|
|
83
83
|
"constructs": "^10.0.0"
|
|
84
84
|
},
|
|
85
85
|
"keywords": [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
package/test/integ.dummyTest.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -30,4 +30,4 @@ const [restApi] = defaults.RegionalRestApi(stack);
|
|
|
30
30
|
restApi.root.addMethod('GET');
|
|
31
31
|
// Synth
|
|
32
32
|
app.synth();
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZHVtbXlUZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuZHVtbXlUZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQXlDO0FBQ3pDLHlEQUF3RTtBQUN4RSwyREFBMkQ7QUFFM0QsUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFckUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsbURBQW1ELENBQUM7QUFFeEYsaUZBQWlGO0FBQ2pGLDBGQUEwRjtBQUMxRiw0RkFBNEY7QUFDNUYsMEZBQTBGO0FBQzFGLG1DQUFtQztBQUVuQyxpRUFBaUU7QUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFOUIsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IEFwcCwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSwge30pO1xuXG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnRHVtbXkgSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLXJvdXRlNTMtYXBpZ2F0ZXdheSc7XG5cbi8vIFRoaXMgaXMgYW4gZHVtbXkgaW50ZWcgdGVzdCBpbiBvcmRlciB0byBieXBhc3MgdGhlIENvZGVCdWlsZCBpbnRlZyB0ZXN0IHNjYW5zLlxuLy8gUm91dGU1M1RvQXBpR2F0ZXdheSBjb25zdHJ1Y3QgcmVxdWlyZXMgYSBsZWdpdGltYXRlIEROUyBhbmQgY2VydGlmaWNhdGUgdG8gYmUgZGVwbG95ZWQuXG4vLyBJZiBhIGZha2UgRE5TIGFuZCBjZXJ0aWZpY2F0ZSBpcyBwcm92aWRlZCwgdGhlIGRlcGxveW1lbnQgd2lsbCBoYW5nIGFuZCBjYXVzZSBpdCB0byBmYWlsLlxuLy8gTGVnaXRpbWF0ZSBETlMgYW5kIGNlcnRpZmljYXRlIGNhbm5vdCBiZSBwcm92aWRlZCBpbiBpbnRlZyB0ZXN0cyBhcyBpdCBpcyB1c2VyIHNwZWNpZmljXG4vLyBhbmQgd2lsbCBuZWVkIHRvIGJlIHJlZ2VuZXJhdGVkLlxuXG4vLyBDcmVhdGUgZHVtbXkgaW50ZWcgd2l0aCBhdCBsZWFzdCBvbmUgcmVzb3VyY2UgdG8gcGFzcyBDRk4gc2NhblxuY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbnJlc3RBcGkucm9vdC5hZGRNZXRob2QoJ0dFVCcpO1xuXG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
5
|
* with the License. A copy of the License is located at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
6
|
* with the License. A copy of the License is located at
|
|
@@ -284,4 +284,4 @@ test("Integration test for A record creation in Private Hosted Zone ", () => {
|
|
|
284
284
|
Name: "RestApi"
|
|
285
285
|
});
|
|
286
286
|
});
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5yb3V0ZTUzLWFwaWdhdGV3YXkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Qucm91dGU1My1hcGlnYXRld2F5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDVixtQ0FBbUM7QUFDbkMsZ0NBQXVFO0FBQ3ZFLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFDM0QsMERBQTBEO0FBQzFELGdDQUE4QjtBQUU5QixpREFBaUQ7QUFDakQsU0FBUyxTQUFTLENBQ2hCLEtBQWdCLEVBQ2hCLFNBQWtCO0lBRWxCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDO0lBRTFDLElBQUksT0FBNkQsQ0FBQztJQUVsRSxJQUFJLFNBQVMsRUFBRTtRQUNiLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxVQUFVO1NBQ3JCLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUNuQyxlQUFlLEVBQUUsUUFBUSxDQUFDLDRCQUE0QixFQUFFO1lBQ3hELGlCQUFpQixFQUFFO2dCQUNqQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixJQUFJLEVBQUUsZ0JBQWdCO2FBQ3ZCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDekQsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRztTQUNK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QjtTQUN2QjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUU7UUFDdkQsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixJQUFJLEVBQUU7WUFDSjtnQkFDRSxLQUFLLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLGFBQWE7aUJBQ25CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxHQUFHLEVBQUUsYUFBYTtpQkFDbkI7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsRUFBRTtRQUN2RCxxQkFBcUIsRUFBRTtZQUNyQixLQUFLLEVBQUU7Z0JBQ0wsVUFBVTthQUNYO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIyIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUm91dGU1M1RvQXBpR2F0ZXdheSwgUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCJAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmVcIjtcbmltcG9ydCAqIGFzIGFjbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IFwiQGF3cy1jZGsvYXNzZXJ0L2plc3RcIjtcblxuLy8gRGVwbG95aW5nIFB1YmxpYy9Qcml2YXRlIEV4aXN0aW5nIEhvc3RlZCBab25lc1xuZnVuY3Rpb24gZGVwbG95QXBpKFxuICBzdGFjazogY2RrLlN0YWNrLFxuICBwdWJsaWNBcGk6IGJvb2xlYW5cbikge1xuICBjb25zdCBbcmVzdEFwaV0gPSBkZWZhdWx0cy5SZWdpb25hbFJlc3RBcGkoc3RhY2spO1xuICByZXN0QXBpLnJvb3QuYWRkTWV0aG9kKCdHRVQnKTtcblxuICBjb25zdCBkb21haW5OYW1lID0gXCJ3d3cudGVzdC1leGFtcGxlLmNvbVwiO1xuXG4gIGxldCBuZXdab25lOiByb3V0ZTUzLlB1YmxpY0hvc3RlZFpvbmUgfCByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lO1xuXG4gIGlmIChwdWJsaWNBcGkpIHtcbiAgICBuZXdab25lID0gbmV3IHJvdXRlNTMuUHVibGljSG9zdGVkWm9uZShzdGFjaywgXCJuZXctem9uZVwiLCB7XG4gICAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzKCksXG4gICAgICBjb25zdHJ1Y3RWcGNQcm9wczoge1xuICAgICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICAgIGNpZHI6IFwiMTcyLjE2OC4wLjAvMTZcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXdab25lID0gbmV3IHJvdXRlNTMuUHJpdmF0ZUhvc3RlZFpvbmUoc3RhY2ssIFwibmV3LXpvbmVcIiwge1xuICAgICAgem9uZU5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICB2cGNcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybihcbiAgICBzdGFjayxcbiAgICBcImZha2UtY2VydFwiLFxuICAgIFwiYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTJcIlxuICApO1xuXG4gIC8vIERlZmluaXRpb25zXG4gIGNvbnN0IHByb3BzOiBSb3V0ZTUzVG9BcGlHYXRld2F5UHJvcHMgPSB7XG4gICAgcHVibGljQXBpLFxuICAgIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZTogbmV3Wm9uZSxcbiAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGUsXG4gIH07XG5cbiAgcmV0dXJuIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFja1wiLCBwcm9wcyk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgcGF0dGVybiBwcm9wc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJUZXN0IGZvciBkZWZhdWx0IHBhcmFtcyBjb25zdHJ1Y3QgcHJvcHNcIiwgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBjb25zdCBjb25zdHJ1Y3QgPSBkZXBsb3lBcGkoc3RhY2ssIGZhbHNlKTtcblxuICAvLyBBc3NlcnRpb25cbiAgZXhwZWN0KGNvbnN0cnVjdC5hcGlHYXRld2F5KS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5ob3N0ZWRab25lKS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC52cGMpLm5vdC50b0JlTnVsbCgpO1xuICBleHBlY3QoY29uc3RydWN0LmNlcnRpZmljYXRlKS5ub3QudG9CZU51bGwoKTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGVycm9ycyB3aGVuIGNyZWF0aW5nIGEgcHJpdmF0ZSBob3N0ZWQgem9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJUZXN0IGZvciBlcnJvcnMgd2hlbiBjcmVhdGluZyBhIHByaXZhdGUgaG9zdGVkIHpvbmVcIiwgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBjb25zdCBbcmVzdEFwaV0gPSBkZWZhdWx0cy5SZWdpb25hbFJlc3RBcGkoc3RhY2spO1xuICBjb25zdCBkb21haW5OYW1lID0gXCJ3d3cudGVzdC1leGFtcGxlLmNvbVwiO1xuXG4gIGNvbnN0IHZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzKCksXG4gICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBjaWRyOiBcIjE3Mi4xNjguMC4wLzE2XCIsXG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgbmV3Wm9uZSA9IG5ldyByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lKHN0YWNrLCBcIm5ldy16b25lXCIsIHtcbiAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICB2cGNcbiAgfSk7XG5cbiAgY29uc3QgY2VydGlmaWNhdGUgPSBhY20uQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKFxuICAgIHN0YWNrLFxuICAgIFwiZmFrZS1jZXJ0XCIsXG4gICAgXCJhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMlwiXG4gICk7XG5cbiAgbGV0IGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrMVwiLCB7XG4gICAgICBwdWJsaWNBcGk6IHRydWUsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuICAvLyBBc3NlcnRpb24gMVxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJQdWJsaWMgQVBJcyByZXF1aXJlIGFuIGV4aXN0aW5nSG9zdGVkWm9uZSBiZSBwYXNzZWQgaW4gdGhlIFByb3BzIG9iamVjdC5cIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrMlwiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gMlxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2szXCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIHpvbmVOYW1lOiBcInRlc3QtZXhhbXBsZS5jb21cIixcbiAgICAgICAgdnBjLFxuICAgICAgfSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVzdEFwaSxcbiAgICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gICAgfSk7XG5cbiAgLy8gQXNzZXJ0aW9uIDNcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiQWxsIFZQQyBzcGVjcyBtdXN0IGJlIHByb3ZpZGVkIGF0IHRoZSBDb25zdHJ1Y3QgbGV2ZWwgaW4gUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazRcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZTogbmV3Wm9uZSxcbiAgICAgIGV4aXN0aW5nVnBjOiB2cGMsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA0XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICBcIkNhbm5vdCBwcm92aWRlIGFuIGV4aXN0aW5nIFZQQyB0byBhbiBleGlzdGluZyBQcml2YXRlIEhvc3RlZCBab25lLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2s1XCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2U6IG5ld1pvbmUsXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IFwidGVzdC1leGFtcGxlLmNvbVwiXG4gICAgICB9LFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNVxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJNdXN0IHByb3ZpZGUgZWl0aGVyIGV4aXN0aW5nSG9zdGVkWm9uZUludGVyZmFjZSBvciBwcml2YXRlSG9zdGVkWm9uZVByb3BzLCBidXQgbm90IGJvdGguXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazZcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgICAgZG9tYWluTmFtZTogXCJ0ZXN0LmV4YW1wbGUuY29tXCJcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA2XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICAnTXVzdCBzdXBwbHkgem9uZU5hbWUgZm9yIFByaXZhdGUgSG9zdGVkIFpvbmUgUHJvcHMuJ1xuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrN1wiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wczoge1xuICAgICAgICB6b25lTmFtZTogXCJ0ZXN0LmV4YW1wbGUuY29tXCJcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiA3XG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICAnTXVzdCBzcGVjaWZ5IGFuIGV4aXN0aW5nVlBDIGZvciB0aGUgUHJpdmF0ZSBIb3N0ZWQgWm9uZSBpbiB0aGUgY29uc3RydWN0IHByb3BzLidcbiAgKTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIHByb3ZpZGluZyBwcml2YXRlIGhvc3RlZCB6b25lIHByb3BzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdChcIlRlc3QgZm9yIHByb3ZpZGluZyBwcml2YXRlIGhvc3RlZCB6b25lIHByb3BzXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgcmVzdEFwaS5yb290LmFkZE1ldGhvZCgnR0VUJyk7XG5cbiAgY29uc3QgZG9tYWluTmFtZSA9IFwid3d3LnByaXZhdGUtem9uZS5jb21cIjtcblxuICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgY2lkcjogXCIxNzIuMTY4LjAuMC8xNlwiLFxuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IGNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybihcbiAgICBzdGFjayxcbiAgICBcImZha2UtY2VydFwiLFxuICAgIFwiYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTJcIlxuICApO1xuXG4gIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazFcIiwge1xuICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgIH0sXG4gICAgZXhpc3RpbmdWcGM6IHZwYyxcbiAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpSb3V0ZTUzOjpIb3N0ZWRab25lXCIsIHtcbiAgICBOYW1lOiBcInd3dy5wcml2YXRlLXpvbmUuY29tLlwiLFxuICAgIFZQQ3M6IFtcbiAgICAgIHtcbiAgICAgICAgVlBDSWQ6IHtcbiAgICAgICAgICBSZWY6IFwiVnBjODM3OEVCMzhcIixcbiAgICAgICAgfSxcbiAgICAgICAgVlBDUmVnaW9uOiB7XG4gICAgICAgICAgUmVmOiBcIkFXUzo6UmVnaW9uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0pO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHVibGljIEhvc3RlZCBab25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdChcIkludGVncmF0aW9uIHRlc3QgZm9yIEEgcmVjb3JkIGNyZWF0aW9uIGluIFB1YmxpYyBIb3N0ZWQgWm9uZSBcIiwgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBkZXBsb3lBcGkoc3RhY2ssIHRydWUpO1xuXG4gIC8vIEFzc2VydGlvbnNcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsIHtcbiAgICBOYW1lOiBcInd3dy50ZXN0LWV4YW1wbGUuY29tLlwiLFxuICAgIFR5cGU6IFwiQVwiLFxuICAgIEFsaWFzVGFyZ2V0OiB7XG4gICAgICBETlNOYW1lOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsSG9zdGVkWm9uZUlkXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICBSZWY6IFwibmV3em9uZTFEMDExOTM2XCIsXG4gICAgfSxcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6QXBpR2F0ZXdheTo6UmVzdEFwaVwiLCB7XG4gICAgRW5kcG9pbnRDb25maWd1cmF0aW9uOiB7XG4gICAgICBUeXBlczogW1xuICAgICAgICBcIlJFR0lPTkFMXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIE5hbWU6IFwiUmVzdEFwaVwiXG4gIH0pO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHJpdmF0ZSBIb3N0ZWQgWm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJJbnRlZ3JhdGlvbiB0ZXN0IGZvciBBIHJlY29yZCBjcmVhdGlvbiBpbiBQcml2YXRlIEhvc3RlZCBab25lIFwiLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGRlcGxveUFwaShzdGFjaywgZmFsc2UpO1xuXG4gIC8vIEFzc2VydGlvbnNcbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsIHtcbiAgICBOYW1lOiBcInd3dy50ZXN0LWV4YW1wbGUuY29tLlwiLFxuICAgIFR5cGU6IFwiQVwiLFxuICAgIEFsaWFzVGFyZ2V0OiB7XG4gICAgICBETlNOYW1lOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbERvbWFpbk5hbWVcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBIb3N0ZWRab25lSWQ6IHtcbiAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICBcIlJlc3RBcGlDdXN0b21Eb21haW5OYW1lOTRGMjhFMTZcIixcbiAgICAgICAgICBcIlJlZ2lvbmFsSG9zdGVkWm9uZUlkXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICBSZWY6IFwibmV3em9uZTFEMDExOTM2XCIsXG4gICAgfSxcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6SG9zdGVkWm9uZVwiLCB7XG4gICAgTmFtZTogXCJ3d3cudGVzdC1leGFtcGxlLmNvbS5cIixcbiAgICBWUENzOiBbXG4gICAgICB7XG4gICAgICAgIFZQQ0lkOiB7XG4gICAgICAgICAgUmVmOiBcIlZwYzgzNzhFQjM4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIFZQQ1JlZ2lvbjoge1xuICAgICAgICAgIFJlZjogXCJBV1M6OlJlZ2lvblwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9KTtcblxuICBleHBlY3Qoc3RhY2spLnRvSGF2ZVJlc291cmNlKFwiQVdTOjpBcGlHYXRld2F5OjpSZXN0QXBpXCIsIHtcbiAgICBFbmRwb2ludENvbmZpZ3VyYXRpb246IHtcbiAgICAgIFR5cGVzOiBbXG4gICAgICAgIFwiUkVHSU9OQUxcIlxuICAgICAgXVxuICAgIH0sXG4gICAgTmFtZTogXCJSZXN0QXBpXCJcbiAgfSk7XG59KTsiXX0=
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5yb3V0ZTUzLWFwaWdhdGV3YXkudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Qucm91dGU1My1hcGlnYXRld2F5LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILFVBQVU7QUFDVixtQ0FBbUM7QUFDbkMsZ0NBQXVFO0FBQ3ZFLG1EQUFtRDtBQUNuRCwyREFBMkQ7QUFDM0QsMERBQTBEO0FBQzFELGdDQUE4QjtBQUU5QixpREFBaUQ7QUFDakQsU0FBUyxTQUFTLENBQ2hCLEtBQWdCLEVBQ2hCLFNBQWtCO0lBRWxCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlCLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDO0lBRTFDLElBQUksT0FBNkQsQ0FBQztJQUVsRSxJQUFJLFNBQVMsRUFBRTtRQUNiLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxVQUFVO1NBQ3JCLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUNuQyxlQUFlLEVBQUUsUUFBUSxDQUFDLDRCQUE0QixFQUFFO1lBQ3hELGlCQUFpQixFQUFFO2dCQUNqQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixJQUFJLEVBQUUsZ0JBQWdCO2FBQ3ZCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUU7WUFDekQsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRztTQUNK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QjtTQUN2QjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUU7UUFDdkQsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixJQUFJLEVBQUU7WUFDSjtnQkFDRSxLQUFLLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLGFBQWE7aUJBQ25CO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxHQUFHLEVBQUUsYUFBYTtpQkFDbkI7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsRUFBRTtRQUN2RCxxQkFBcUIsRUFBRTtZQUNyQixLQUFLLEVBQUU7Z0JBQ0wsVUFBVTthQUNYO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFJvdXRlNTNUb0FwaUdhdGV3YXksIFJvdXRlNTNUb0FwaUdhdGV3YXlQcm9wcyB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tIFwiQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlXCI7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCBcIkBhd3MtY2RrL2Fzc2VydC9qZXN0XCI7XG5cbi8vIERlcGxveWluZyBQdWJsaWMvUHJpdmF0ZSBFeGlzdGluZyBIb3N0ZWQgWm9uZXNcbmZ1bmN0aW9uIGRlcGxveUFwaShcbiAgc3RhY2s6IGNkay5TdGFjayxcbiAgcHVibGljQXBpOiBib29sZWFuXG4pIHtcbiAgY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgcmVzdEFwaS5yb290LmFkZE1ldGhvZCgnR0VUJyk7XG5cbiAgY29uc3QgZG9tYWluTmFtZSA9IFwid3d3LnRlc3QtZXhhbXBsZS5jb21cIjtcblxuICBsZXQgbmV3Wm9uZTogcm91dGU1My5QdWJsaWNIb3N0ZWRab25lIHwgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZTtcblxuICBpZiAocHVibGljQXBpKSB7XG4gICAgbmV3Wm9uZSA9IG5ldyByb3V0ZTUzLlB1YmxpY0hvc3RlZFpvbmUoc3RhY2ssIFwibmV3LXpvbmVcIiwge1xuICAgICAgem9uZU5hbWU6IGRvbWFpbk5hbWUsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdnBjID0gZGVmYXVsdHMuYnVpbGRWcGMoc3RhY2ssIHtcbiAgICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpLFxuICAgICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgICAgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLFxuICAgICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgICBjaWRyOiBcIjE3Mi4xNjguMC4wLzE2XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3Wm9uZSA9IG5ldyByb3V0ZTUzLlByaXZhdGVIb3N0ZWRab25lKHN0YWNrLCBcIm5ldy16b25lXCIsIHtcbiAgICAgIHpvbmVOYW1lOiBkb21haW5OYW1lLFxuICAgICAgdnBjXG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc3RhY2ssXG4gICAgXCJmYWtlLWNlcnRcIixcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcblxuICAvLyBEZWZpbml0aW9uc1xuICBjb25zdCBwcm9wczogUm91dGU1M1RvQXBpR2F0ZXdheVByb3BzID0ge1xuICAgIHB1YmxpY0FwaSxcbiAgICBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2U6IG5ld1pvbmUsXG4gICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlLFxuICB9O1xuXG4gIHJldHVybiBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2tcIiwgcHJvcHMpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIHBhdHRlcm4gcHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZGVmYXVsdCBwYXJhbXMgY29uc3RydWN0IHByb3BzXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgY29uc3RydWN0ID0gZGVwbG95QXBpKHN0YWNrLCBmYWxzZSk7XG5cbiAgLy8gQXNzZXJ0aW9uXG4gIGV4cGVjdChjb25zdHJ1Y3QuYXBpR2F0ZXdheSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QuaG9zdGVkWm9uZSkubm90LnRvQmVOdWxsKCk7XG4gIGV4cGVjdChjb25zdHJ1Y3QudnBjKS5ub3QudG9CZU51bGwoKTtcbiAgZXhwZWN0KGNvbnN0cnVjdC5jZXJ0aWZpY2F0ZSkubm90LnRvQmVOdWxsKCk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBlcnJvcnMgd2hlbiBjcmVhdGluZyBhIHByaXZhdGUgaG9zdGVkIHpvbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiVGVzdCBmb3IgZXJyb3JzIHdoZW4gY3JlYXRpbmcgYSBwcml2YXRlIGhvc3RlZCB6b25lXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgY29uc3QgW3Jlc3RBcGldID0gZGVmYXVsdHMuUmVnaW9uYWxSZXN0QXBpKHN0YWNrKTtcbiAgY29uc3QgZG9tYWluTmFtZSA9IFwid3d3LnRlc3QtZXhhbXBsZS5jb21cIjtcblxuICBjb25zdCB2cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgY2lkcjogXCIxNzIuMTY4LjAuMC8xNlwiLFxuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IG5ld1pvbmUgPSBuZXcgcm91dGU1My5Qcml2YXRlSG9zdGVkWm9uZShzdGFjaywgXCJuZXctem9uZVwiLCB7XG4gICAgem9uZU5hbWU6IGRvbWFpbk5hbWUsXG4gICAgdnBjXG4gIH0pO1xuXG4gIGNvbnN0IGNlcnRpZmljYXRlID0gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybihcbiAgICBzdGFjayxcbiAgICBcImZha2UtY2VydFwiLFxuICAgIFwiYXJuOmF3czphY206dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpjZXJ0aWZpY2F0ZS8xMTExMjIyMi0zMzMzLTEyMzQtMTIzNC0xMjM0NTY3ODkwMTJcIlxuICApO1xuXG4gIGxldCBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazFcIiwge1xuICAgICAgcHVibGljQXBpOiB0cnVlLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcbiAgLy8gQXNzZXJ0aW9uIDFcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiUHVibGljIEFQSXMgcmVxdWlyZSBhbiBleGlzdGluZ0hvc3RlZFpvbmUgYmUgcGFzc2VkIGluIHRoZSBQcm9wcyBvYmplY3QuXCJcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazJcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVzdEFwaSxcbiAgICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gICAgfSk7XG5cbiAgLy8gQXNzZXJ0aW9uIDJcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiTXVzdCBwcm92aWRlIGVpdGhlciBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2Ugb3IgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcy5cIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrM1wiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wczoge1xuICAgICAgICB6b25lTmFtZTogXCJ0ZXN0LWV4YW1wbGUuY29tXCIsXG4gICAgICAgIHZwYyxcbiAgICAgIH0sXG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlJbnRlcmZhY2U6IHJlc3RBcGksXG4gICAgICBleGlzdGluZ0NlcnRpZmljYXRlSW50ZXJmYWNlOiBjZXJ0aWZpY2F0ZVxuICAgIH0pO1xuXG4gIC8vIEFzc2VydGlvbiAzXG4gIGV4cGVjdChhcHApLnRvVGhyb3dFcnJvcihcbiAgICBcIkFsbCBWUEMgc3BlY3MgbXVzdCBiZSBwcm92aWRlZCBhdCB0aGUgQ29uc3RydWN0IGxldmVsIGluIFJvdXRlNTNUb0FwaUdhdGV3YXlQcm9wc1wiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2s0XCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2U6IG5ld1pvbmUsXG4gICAgICBleGlzdGluZ1ZwYzogdnBjLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNFxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgXCJDYW5ub3QgcHJvdmlkZSBhbiBleGlzdGluZyBWUEMgdG8gYW4gZXhpc3RpbmcgUHJpdmF0ZSBIb3N0ZWQgWm9uZS5cIlxuICApO1xuXG4gIGFwcCA9ICgpID0+XG4gICAgbmV3IFJvdXRlNTNUb0FwaUdhdGV3YXkoc3RhY2ssIFwiYXBpLXN0YWNrNVwiLCB7XG4gICAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgICAgZXhpc3RpbmdIb3N0ZWRab25lSW50ZXJmYWNlOiBuZXdab25lLFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wczoge1xuICAgICAgICBkb21haW5OYW1lOiBcInRlc3QtZXhhbXBsZS5jb21cIlxuICAgICAgfSxcbiAgICAgIGV4aXN0aW5nQ2VydGlmaWNhdGVJbnRlcmZhY2U6IGNlcnRpZmljYXRlXG4gICAgfSk7XG5cbiAgLy8gQXNzZXJ0aW9uIDVcbiAgZXhwZWN0KGFwcCkudG9UaHJvd0Vycm9yKFxuICAgIFwiTXVzdCBwcm92aWRlIGVpdGhlciBleGlzdGluZ0hvc3RlZFpvbmVJbnRlcmZhY2Ugb3IgcHJpdmF0ZUhvc3RlZFpvbmVQcm9wcywgYnV0IG5vdCBib3RoLlwiXG4gICk7XG5cbiAgYXBwID0gKCkgPT5cbiAgICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2s2XCIsIHtcbiAgICAgIHB1YmxpY0FwaTogZmFsc2UsXG4gICAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IFwidGVzdC5leGFtcGxlLmNvbVwiXG4gICAgICB9LFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gNlxuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgJ011c3Qgc3VwcGx5IHpvbmVOYW1lIGZvciBQcml2YXRlIEhvc3RlZCBab25lIFByb3BzLidcbiAgKTtcblxuICBhcHAgPSAoKSA9PlxuICAgIG5ldyBSb3V0ZTUzVG9BcGlHYXRld2F5KHN0YWNrLCBcImFwaS1zdGFjazdcIiwge1xuICAgICAgcHVibGljQXBpOiBmYWxzZSxcbiAgICAgIHByaXZhdGVIb3N0ZWRab25lUHJvcHM6IHtcbiAgICAgICAgem9uZU5hbWU6IFwidGVzdC5leGFtcGxlLmNvbVwiXG4gICAgICB9LFxuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5SW50ZXJmYWNlOiByZXN0QXBpLFxuICAgICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgICB9KTtcblxuICAvLyBBc3NlcnRpb24gN1xuICBleHBlY3QoYXBwKS50b1Rocm93RXJyb3IoXG4gICAgJ011c3Qgc3BlY2lmeSBhbiBleGlzdGluZ1ZQQyBmb3IgdGhlIFByaXZhdGUgSG9zdGVkIFpvbmUgaW4gdGhlIGNvbnN0cnVjdCBwcm9wcy4nXG4gICk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBwcm92aWRpbmcgcHJpdmF0ZSBob3N0ZWQgem9uZSBwcm9wc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJUZXN0IGZvciBwcm92aWRpbmcgcHJpdmF0ZSBob3N0ZWQgem9uZSBwcm9wc1wiLCAoKSA9PiB7XG4gIC8vIEluaXRpYWwgU2V0dXBcbiAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gIGNvbnN0IFtyZXN0QXBpXSA9IGRlZmF1bHRzLlJlZ2lvbmFsUmVzdEFwaShzdGFjayk7XG4gIHJlc3RBcGkucm9vdC5hZGRNZXRob2QoJ0dFVCcpO1xuXG4gIGNvbnN0IGRvbWFpbk5hbWUgPSBcInd3dy5wcml2YXRlLXpvbmUuY29tXCI7XG5cbiAgY29uc3QgdnBjID0gZGVmYXVsdHMuYnVpbGRWcGMoc3RhY2ssIHtcbiAgICBkZWZhdWx0VnBjUHJvcHM6IGRlZmF1bHRzLkRlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMoKSxcbiAgICBjb25zdHJ1Y3RWcGNQcm9wczoge1xuICAgICAgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLFxuICAgICAgZW5hYmxlRG5zU3VwcG9ydDogdHJ1ZSxcbiAgICAgIGNpZHI6IFwiMTcyLjE2OC4wLjAvMTZcIixcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBjZXJ0aWZpY2F0ZSA9IGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc3RhY2ssXG4gICAgXCJmYWtlLWNlcnRcIixcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcblxuICBuZXcgUm91dGU1M1RvQXBpR2F0ZXdheShzdGFjaywgXCJhcGktc3RhY2sxXCIsIHtcbiAgICBwdWJsaWNBcGk6IGZhbHNlLFxuICAgIGV4aXN0aW5nQXBpR2F0ZXdheUludGVyZmFjZTogcmVzdEFwaSxcbiAgICBwcml2YXRlSG9zdGVkWm9uZVByb3BzOiB7XG4gICAgICB6b25lTmFtZTogZG9tYWluTmFtZSxcbiAgICB9LFxuICAgIGV4aXN0aW5nVnBjOiB2cGMsXG4gICAgZXhpc3RpbmdDZXJ0aWZpY2F0ZUludGVyZmFjZTogY2VydGlmaWNhdGVcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6Um91dGU1Mzo6SG9zdGVkWm9uZVwiLCB7XG4gICAgTmFtZTogXCJ3d3cucHJpdmF0ZS16b25lLmNvbS5cIixcbiAgICBWUENzOiBbXG4gICAgICB7XG4gICAgICAgIFZQQ0lkOiB7XG4gICAgICAgICAgUmVmOiBcIlZwYzgzNzhFQjM4XCIsXG4gICAgICAgIH0sXG4gICAgICAgIFZQQ1JlZ2lvbjoge1xuICAgICAgICAgIFJlZjogXCJBV1M6OlJlZ2lvblwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIEEgcmVjb3JkIGNyZWF0aW9uIGluIFB1YmxpYyBIb3N0ZWQgWm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoXCJJbnRlZ3JhdGlvbiB0ZXN0IGZvciBBIHJlY29yZCBjcmVhdGlvbiBpbiBQdWJsaWMgSG9zdGVkIFpvbmUgXCIsICgpID0+IHtcbiAgLy8gSW5pdGlhbCBTZXR1cFxuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcbiAgZGVwbG95QXBpKHN0YWNrLCB0cnVlKTtcblxuICAvLyBBc3NlcnRpb25zXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlJvdXRlNTM6OlJlY29yZFNldFwiLCB7XG4gICAgTmFtZTogXCJ3d3cudGVzdC1leGFtcGxlLmNvbS5cIixcbiAgICBUeXBlOiBcIkFcIixcbiAgICBBbGlhc1RhcmdldDoge1xuICAgICAgRE5TTmFtZToge1xuICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgIFwiUmVzdEFwaUN1c3RvbURvbWFpbk5hbWU5NEYyOEUxNlwiLFxuICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbEhvc3RlZFpvbmVJZFwiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICAgIEhvc3RlZFpvbmVJZDoge1xuICAgICAgUmVmOiBcIm5ld3pvbmUxRDAxMTkzNlwiLFxuICAgIH0sXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OkFwaUdhdGV3YXk6OlJlc3RBcGlcIiwge1xuICAgIEVuZHBvaW50Q29uZmlndXJhdGlvbjoge1xuICAgICAgVHlwZXM6IFtcbiAgICAgICAgXCJSRUdJT05BTFwiXG4gICAgICBdXG4gICAgfSxcbiAgICBOYW1lOiBcIlJlc3RBcGlcIlxuICB9KTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIEEgcmVjb3JkIGNyZWF0aW9uIGluIFByaXZhdGUgSG9zdGVkIFpvbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KFwiSW50ZWdyYXRpb24gdGVzdCBmb3IgQSByZWNvcmQgY3JlYXRpb24gaW4gUHJpdmF0ZSBIb3N0ZWQgWm9uZSBcIiwgKCkgPT4ge1xuICAvLyBJbml0aWFsIFNldHVwXG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuICBkZXBsb3lBcGkoc3RhY2ssIGZhbHNlKTtcblxuICAvLyBBc3NlcnRpb25zXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlJvdXRlNTM6OlJlY29yZFNldFwiLCB7XG4gICAgTmFtZTogXCJ3d3cudGVzdC1leGFtcGxlLmNvbS5cIixcbiAgICBUeXBlOiBcIkFcIixcbiAgICBBbGlhc1RhcmdldDoge1xuICAgICAgRE5TTmFtZToge1xuICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgIFwiUmVzdEFwaUN1c3RvbURvbWFpbk5hbWU5NEYyOEUxNlwiLFxuICAgICAgICAgIFwiUmVnaW9uYWxEb21haW5OYW1lXCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgSG9zdGVkWm9uZUlkOiB7XG4gICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgXCJSZXN0QXBpQ3VzdG9tRG9tYWluTmFtZTk0RjI4RTE2XCIsXG4gICAgICAgICAgXCJSZWdpb25hbEhvc3RlZFpvbmVJZFwiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICAgIEhvc3RlZFpvbmVJZDoge1xuICAgICAgUmVmOiBcIm5ld3pvbmUxRDAxMTkzNlwiLFxuICAgIH0sXG4gIH0pO1xuXG4gIGV4cGVjdChzdGFjaykudG9IYXZlUmVzb3VyY2UoXCJBV1M6OlJvdXRlNTM6Okhvc3RlZFpvbmVcIiwge1xuICAgIE5hbWU6IFwid3d3LnRlc3QtZXhhbXBsZS5jb20uXCIsXG4gICAgVlBDczogW1xuICAgICAge1xuICAgICAgICBWUENJZDoge1xuICAgICAgICAgIFJlZjogXCJWcGM4Mzc4RUIzOFwiLFxuICAgICAgICB9LFxuICAgICAgICBWUENSZWdpb246IHtcbiAgICAgICAgICBSZWY6IFwiQVdTOjpSZWdpb25cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSk7XG5cbiAgZXhwZWN0KHN0YWNrKS50b0hhdmVSZXNvdXJjZShcIkFXUzo6QXBpR2F0ZXdheTo6UmVzdEFwaVwiLCB7XG4gICAgRW5kcG9pbnRDb25maWd1cmF0aW9uOiB7XG4gICAgICBUeXBlczogW1xuICAgICAgICBcIlJFR0lPTkFMXCJcbiAgICAgIF1cbiAgICB9LFxuICAgIE5hbWU6IFwiUmVzdEFwaVwiXG4gIH0pO1xufSk7Il19
|