@rio-cloud/cdk-v2-constructs 6.4.0 → 6.5.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 +27 -4
- package/CHANGELOG.md +11 -0
- package/docs/API.md +15 -0
- package/lib/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.d.ts +5 -0
- package/lib/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.js +3 -2
- package/lib/contributions/smart-route/gitlab-runner/runner-roles.js +3 -2
- package/package.json +1 -1
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -8753,7 +8753,7 @@
|
|
|
8753
8753
|
},
|
|
8754
8754
|
"locationInModule": {
|
|
8755
8755
|
"filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
|
|
8756
|
-
"line":
|
|
8756
|
+
"line": 78
|
|
8757
8757
|
},
|
|
8758
8758
|
"parameters": [
|
|
8759
8759
|
{
|
|
@@ -8779,7 +8779,7 @@
|
|
|
8779
8779
|
"kind": "class",
|
|
8780
8780
|
"locationInModule": {
|
|
8781
8781
|
"filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
|
|
8782
|
-
"line":
|
|
8782
|
+
"line": 76
|
|
8783
8783
|
},
|
|
8784
8784
|
"name": "RioCloudfrontDistribution",
|
|
8785
8785
|
"properties": [
|
|
@@ -8790,7 +8790,7 @@
|
|
|
8790
8790
|
"immutable": true,
|
|
8791
8791
|
"locationInModule": {
|
|
8792
8792
|
"filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
|
|
8793
|
-
"line":
|
|
8793
|
+
"line": 77
|
|
8794
8794
|
},
|
|
8795
8795
|
"name": "distribution",
|
|
8796
8796
|
"type": {
|
|
@@ -8849,6 +8849,29 @@
|
|
|
8849
8849
|
"primitive": "string"
|
|
8850
8850
|
}
|
|
8851
8851
|
},
|
|
8852
|
+
{
|
|
8853
|
+
"abstract": true,
|
|
8854
|
+
"docs": {
|
|
8855
|
+
"remarks": "If not given, no functions will be assigned.",
|
|
8856
|
+
"stability": "stable",
|
|
8857
|
+
"summary": "The list of functions to be associated with the default behaviour of the distribution."
|
|
8858
|
+
},
|
|
8859
|
+
"immutable": true,
|
|
8860
|
+
"locationInModule": {
|
|
8861
|
+
"filename": "src/contributions/cop-frontend/cloudfront/rio-cloudfront-distribution.ts",
|
|
8862
|
+
"line": 48
|
|
8863
|
+
},
|
|
8864
|
+
"name": "functionAssociations",
|
|
8865
|
+
"optional": true,
|
|
8866
|
+
"type": {
|
|
8867
|
+
"collection": {
|
|
8868
|
+
"elementtype": {
|
|
8869
|
+
"fqn": "aws-cdk-lib.aws_cloudfront.FunctionAssociation"
|
|
8870
|
+
},
|
|
8871
|
+
"kind": "array"
|
|
8872
|
+
}
|
|
8873
|
+
}
|
|
8874
|
+
},
|
|
8852
8875
|
{
|
|
8853
8876
|
"abstract": true,
|
|
8854
8877
|
"docs": {
|
|
@@ -16775,5 +16798,5 @@
|
|
|
16775
16798
|
}
|
|
16776
16799
|
},
|
|
16777
16800
|
"version": "0.0.0",
|
|
16778
|
-
"fingerprint": "
|
|
16801
|
+
"fingerprint": "JNmWuG9bkE+fE+xyzMl75Bm6OMsdKXbVk22yqcqBMeQ="
|
|
16779
16802
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [6.5.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.4.1&sourceBranch=refs%2Ftags%2Fv6.5.0) (2024-08-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **cloudfront:** allow functions to be associated with the default behaviour of the distribution ([76ae4d4](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/76ae4d422a7ad574eae134db5f79f03a4cd82d01))
|
|
11
|
+
* **cloudfront:** update changelog for allow functions to be associated with the default behaviour of the distribution ([e30ee56](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/e30ee5623859ea9a11d50c8c39f44899d1d16370))
|
|
12
|
+
* **cloudfront:** update claidometer for allow functions to be associated with the default behaviour of the distribution ([b61de03](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/b61de03abd349bc7fad68e0f49b66eaa362a200a))
|
|
13
|
+
|
|
14
|
+
## [6.4.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.4.0&sourceBranch=refs%2Ftags%2Fv6.4.1) (2024-08-06)
|
|
15
|
+
|
|
5
16
|
## [6.4.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.3.2&sourceBranch=refs%2Ftags%2Fv6.4.0) (2024-08-02)
|
|
6
17
|
|
|
7
18
|
|
package/docs/API.md
CHANGED
|
@@ -12712,6 +12712,7 @@ const rioCloudfrontDistributionProps: RioCloudfrontDistributionProps = { ... }
|
|
|
12712
12712
|
| --- | --- | --- |
|
|
12713
12713
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.contentBucketName">contentBucketName</a></code> | <code>string</code> | The reference to the S3 bucket containing the files to serve. |
|
|
12714
12714
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.contentSecurityPolicy">contentSecurityPolicy</a></code> | <code>string</code> | The content Security Policy to be sent as a header when delivering the bucket content. |
|
|
12715
|
+
| <code><a href="#@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.functionAssociations">functionAssociations</a></code> | <code>aws-cdk-lib.aws_cloudfront.FunctionAssociation[]</code> | The list of functions to be associated with the default behaviour of the distribution. |
|
|
12715
12716
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The hosted zone of the domain under which the content will be served. |
|
|
12716
12717
|
| <code><a href="#@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.subDomain">subDomain</a></code> | <code>string</code> | The subdomain where the content should be served. |
|
|
12717
12718
|
|
|
@@ -12745,6 +12746,20 @@ the index.html, in which case you can provide your csp here.
|
|
|
12745
12746
|
|
|
12746
12747
|
---
|
|
12747
12748
|
|
|
12749
|
+
##### `functionAssociations`<sup>Optional</sup> <a name="functionAssociations" id="@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.functionAssociations"></a>
|
|
12750
|
+
|
|
12751
|
+
```typescript
|
|
12752
|
+
public readonly functionAssociations: FunctionAssociation[];
|
|
12753
|
+
```
|
|
12754
|
+
|
|
12755
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.FunctionAssociation[]
|
|
12756
|
+
|
|
12757
|
+
The list of functions to be associated with the default behaviour of the distribution.
|
|
12758
|
+
|
|
12759
|
+
If not given, no functions will be assigned.
|
|
12760
|
+
|
|
12761
|
+
---
|
|
12762
|
+
|
|
12748
12763
|
##### `hostedZone`<sup>Optional</sup> <a name="hostedZone" id="@rio-cloud/cdk-v2-constructs.RioCloudfrontDistributionProps.property.hostedZone"></a>
|
|
12749
12764
|
|
|
12750
12765
|
```typescript
|
|
@@ -26,6 +26,11 @@ export interface RioCloudfrontDistributionProps {
|
|
|
26
26
|
* the index.html, in which case you can provide your csp here.
|
|
27
27
|
*/
|
|
28
28
|
readonly contentSecurityPolicy?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The list of functions to be associated with the default behaviour of the distribution.
|
|
31
|
+
* If not given, no functions will be assigned.
|
|
32
|
+
*/
|
|
33
|
+
readonly functionAssociations?: cloudfront.FunctionAssociation[];
|
|
29
34
|
}
|
|
30
35
|
export declare const createRioDefaultCSP: (additionalScriptSources?: string) => string;
|
|
31
36
|
/**
|
|
@@ -120,6 +120,7 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
|
|
|
120
120
|
cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,
|
|
121
121
|
responseHeadersPolicy: responseHeadersPolicy,
|
|
122
122
|
compress: true,
|
|
123
|
+
functionAssociations: props.functionAssociations,
|
|
123
124
|
},
|
|
124
125
|
domainNames: [domainName],
|
|
125
126
|
priceClass: cloudfront.PriceClass.PRICE_CLASS_100,
|
|
@@ -152,11 +153,11 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
|
|
|
152
153
|
product: rio_claidometer_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
153
154
|
packageName,
|
|
154
155
|
feature,
|
|
155
|
-
version: '0.0.
|
|
156
|
+
version: '0.0.4',
|
|
156
157
|
});
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
exports.RioCloudfrontDistribution = RioCloudfrontDistribution;
|
|
160
161
|
_a = JSII_RTTI_SYMBOL_1;
|
|
161
162
|
RioCloudfrontDistribution[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.RioCloudfrontDistribution", version: "0.0.0" };
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFzRDtBQUN0RCwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUFpQzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBaEJHLFFBQUEsbUJBQW1CLHVCQWdCdEI7QUFFVjs7OztHQUlHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxpQ0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFFL0csTUFBTSw0QkFBNEIsR0FBRyxJQUFBLDJCQUFtQixHQUFFLENBQUM7UUFDM0QsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLElBQUksNEJBQTRCLENBQUM7UUFFMUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLG1DQUFtQyxFQUFFO1lBQzdGLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQztRQUVILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQzdGLE9BQU8sRUFBRSxzQkFBc0IsVUFBVSxFQUFFO1NBQzVDLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDbkQsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDbkMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1lBQzFDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUNwQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxFQUFFLEVBQUUsZ0JBQWdCO29CQUNwQixVQUFVLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUM3QiwyQkFBMkIsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7aUJBQy9DO2FBQ0Y7WUFDRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixJQUFJLEVBQUU7Z0JBQ0o7b0JBQ0UsY0FBYyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7b0JBQ3BDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FDZCxJQUFJLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQywrQ0FBK0MsQ0FBQyxFQUNwRyxHQUFHLENBQ0osQ0FBQztRQUVGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hHLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsWUFBWSxFQUFFO2dCQUNaLDZCQUE2QixFQUFFLEtBQUs7Z0JBQ3BDLHlCQUF5QixFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNoQyx5QkFBeUIsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDbEMseUJBQXlCLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUNoRCxtQkFBbUIsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzFDLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsdUJBQXVCLEVBQUU7Z0JBQ3ZCLHFCQUFxQixFQUFFO29CQUNyQixxQkFBcUIsRUFBRSxxQkFBcUI7b0JBQzVDLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2dCQUNELGtCQUFrQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDdEMsWUFBWSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDakYsY0FBYyxFQUFFO29CQUNkLGNBQWMsRUFBRSxVQUFVLENBQUMscUJBQXFCLENBQUMsK0JBQStCO29CQUNoRixRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCx1QkFBdUIsRUFBRTtvQkFDdkIsbUJBQW1CLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO29CQUN2QyxpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixRQUFRLEVBQUUsSUFBSTtpQkFDZjtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3BFLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDcEMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGNBQWM7Z0JBQ2xFLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUI7Z0JBQ3ZFLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtnQkFDckQscUJBQXFCLEVBQUUscUJBQXFCO2dCQUM1QyxRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLGVBQWU7WUFDakQsV0FBVyxFQUFFLFdBQVc7WUFDeEIsaUJBQWlCLEVBQUUsWUFBWTtZQUMvQixzQkFBc0IsRUFBRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsYUFBYTtZQUN2RSxjQUFjLEVBQUU7Z0JBQ2Q7b0JBQ0UsVUFBVSxFQUFFLEdBQUc7b0JBQ2Ysa0JBQWtCLEVBQUUsR0FBRztvQkFDdkIsZ0JBQWdCLEVBQUUsYUFBYTtvQkFDL0IsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0Q7b0JBQ0UsVUFBVSxFQUFFLEdBQUc7b0JBQ2Ysa0JBQWtCLEVBQUUsR0FBRztvQkFDdkIsZ0JBQWdCLEVBQUUsYUFBYTtvQkFDL0IsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3ZDLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25FLElBQUksNkJBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxvQ0FBa0IsQ0FBQyxnQkFBZ0I7WUFDNUMsV0FBVztZQUNYLE9BQU87WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9ISCw4REFnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgZmlsZXMgdG8gc2VydmVcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgc3ViZG9tYWluIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgYW4gZW1wdHkgc3RyaW5nLCBpLmUuIG5vIHN1YkRvbWFpbiB3aWxsIGJlIHVzZWQuXG4gICAgICogSW5zdGVhZCwgdGhlIG5hbWUgb2YgdGhlIGhvc3RlZCB6b25lIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgc3ViRG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBob3N0ZWQgem9uZSBvZiB0aGUgZG9tYWluIHVuZGVyIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgc2VydmVkLiBJZiBub3QgZ2l2ZW4sIHRoZSBkZWZhdWx0IGhvc3RlZCBab25lXG4gICAgICogcHJvdmlkZWQgYnkgUklPIHNldHVwIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZT86IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvIGJlIHNlbnQgYXMgYSBoZWFkZXIgd2hlbiBkZWxpdmVyaW5nIHRoZSBidWNrZXQgY29udGVudC5cbiAgICAgKiBJZiBub3Qgc2V0LCBhIHJpbyBEZWZhdWx0IHdpbGwgYmUgdXNlZC4gVGhlIGRlZmF1bHQgc2hvdWxkIGNvdmVyIGNvbm5lY3Rpb25zIHRvIHNwbGl0LmlvLCBzZW50cnkgYW5kIGRhdGFkb2csXG4gICAgICogYXMgd2VsbCBhcyBhIGhhc2ggdG8gc3VwcG9ydCBnb29nbGUgdGFnTWFuZ2VyLiBUaGUgbGF0dGVyIG1pZ2h0IG5lZWQgdG8gYmUgYWRhcHRlZCBpZiB5b3UgY2hhbmdlIHRoZSBtaW5pZmljYXRpb24gb2ZcbiAgICAgKiB0aGUgaW5kZXguaHRtbCwgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBjc3AgaGVyZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBhbHdheXNBbGxvd2VkQ1NQU291cmNlcyA9IFwiJ3NlbGYnIGh0dHBzOi8vKi5yaW8uY2xvdWQgaHR0cHM6Ly9yaW8uY2xvdWRcIjtcbi8vIFRoZSBoYXNoIGluIHNjcmlwdCBzcmMgaXMgZm9yIHRoZSBnb29nbGUgdGFnTWFuYWdlciBzY3JpcHQgaW5jbHVkZWQgaW4gdGhlIGluZGV4Lmh0bWxcbmV4cG9ydCBjb25zdCBjcmVhdGVSaW9EZWZhdWx0Q1NQID0gKGFkZGl0aW9uYWxTY3JpcHRTb3VyY2VzPzogc3RyaW5nKSA9PiBgXG4gICAgICAgZGVmYXVsdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgY29ubmVjdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gaHR0cHM6Ly8qLnNlbnRyeS5pbyBodHRwczovL3NlbnRyeS5pbyBodHRwczovL3Nkay5zcGxpdC5pbyBodHRwczovLyouZGF0YWRvZ2hxLmV1IGh0dHBzOi8vKi5icm93c2VyLWludGFrZS1kYXRhZG9naHEuZXUgaHR0cHM6Ly9jZG4tZXUuY29uZmlnY2F0LmNvbSBodHRwczovL2Jyb3dzZXItaW50YWtlLWRhdGFkb2docS5ldTtcbiAgICAgICBmb250LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBkYXRhOjtcbiAgICAgICBpbWctc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IHd3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbSBkYXRhOjtcbiAgICAgICBvYmplY3Qtc3JjICdub25lJztcbiAgICAgICBzY3JpcHQtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tXG4gICAgICAgICdzaGEyNTYtSERXQWdmVGVNQWd1VDh3Rnc3KzkyWTdpNEVvLzZSVVFRdUEzVFc5SnhiQT0nXG4gICAgICAgICR7YWRkaXRpb25hbFNjcmlwdFNvdXJjZXMgPyAnICcgKyBhZGRpdGlvbmFsU2NyaXB0U291cmNlcyA6ICcnfTtcbiAgICAgICBzdHlsZS1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gJ3Vuc2FmZS1pbmxpbmUnO1xuICAgICAgIGJhc2UtdXJpICdzZWxmJztcbiAgICAgICBmb3JtLWFjdGlvbiAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBmcmFtZS1hbmNlc3RvcnMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgZnJhbWUtc3JjICdzZWxmJyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBgXG4gIC5yZXBsYWNlKC9bXFxyXFxuXFxzXSsvZywgJyAnKVxuICAudHJpbSgpO1xuXG4vKipcbiAqIEEgQ29uc3RydWN0IHdoaWNoIGNyZWF0ZXMgYSBkZWZhdWx0IGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIHVzaW5nIGEgczMgYnVja2V0IGFzIG9yaWdpbi5cbiAqIEludGVuZGVkIGZvciBkZWxpdmVyeSBvZiBodG1sIGRvY3VtZW50cy4gSXQgc2V0cyBzb21lIGRlZmF1bHRzIGEgcmVjb21tZW5kZWQgYnkgQVdTIGFuZCBwcm92aWRlcyBiYXNpYyBzZWN1cml0eSBoZWFkZXIuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5JRGlzdHJpYnV0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGhvc3RlZFpvbmUgPSBwcm9wcy5ob3N0ZWRab25lID8/IFJpb0xhbmRpbmdab25lLmdldERlZmF1bHRIb3N0ZWRab25lKHRoaXMpO1xuICAgIGNvbnN0IHN1YkRvbWFpbiA9IHByb3BzLnN1YkRvbWFpbiA/PyAnJztcbiAgICBjb25zdCBkb21haW5OYW1lID0gcHJvcHMuc3ViRG9tYWluID09PSB1bmRlZmluZWQgPyBob3N0ZWRab25lLnpvbmVOYW1lIDogc3ViRG9tYWluICsgJy4nICsgaG9zdGVkWm9uZS56b25lTmFtZTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBjcmVhdGVSaW9EZWZhdWx0Q1NQKCk7XG4gICAgY29uc3QgY29udGVudFNlY3VyaXR5UG9saWN5ID0gcHJvcHMuY29udGVudFNlY3VyaXR5UG9saWN5ID8/IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3k7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBhY20uRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nsb3VkZnJvbnREaXN0cmlidXRpb25DZXJ0aWZpY2F0ZScsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IG9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ09yaWdpbkFjY2Vzc0lkZW50aXR5Jywge1xuICAgICAgY29tbWVudDogYEFjY2Vzc0lkZW50aXR5IGZvciAke2RvbWFpbk5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0Zyb250RW5kQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuY29udGVudEJ1Y2tldE5hbWUsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0V4cGlyZXNPYmplY3RzJyxcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDkwKSxcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkTWV0aG9kczogW3MzLkh0dHBNZXRob2RzLkdFVF0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGFsbG93ZWRIZWFkZXJzOiBbJyonXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIG5ldyBpYW0uQ2Fub25pY2FsVXNlclByaW5jaXBhbChvcmlnaW5BY2Nlc3NJZGVudGl0eS5jbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlTM0Nhbm9uaWNhbFVzZXJJZCksXG4gICAgICAnKicsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5Jywge1xuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ2xvdWRGcm9udCByZXNwb25zZXMnLFxuICAgICAgY29yc0JlaGF2aW9yOiB7XG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogWycqJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHM6IFsnR0VUJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd09yaWdpbnM6IFtob3N0ZWRab25lLnpvbmVOYW1lXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uc2Vjb25kcyg2MDApLFxuICAgICAgICBvcmlnaW5PdmVycmlkZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFR5cGVPcHRpb25zOiB7IG92ZXJyaWRlOiB0cnVlIH0sXG4gICAgICAgIGZyYW1lT3B0aW9uczogeyBmcmFtZU9wdGlvbjogY2xvdWRmcm9udC5IZWFkZXJzRnJhbWVPcHRpb24uREVOWSwgb3ZlcnJpZGU6IHRydWUgfSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IHtcbiAgICAgICAgICByZWZlcnJlclBvbGljeTogY2xvdWRmcm9udC5IZWFkZXJzUmVmZXJyZXJQb2xpY3kuU1RSSUNUX09SSUdJTl9XSEVOX0NST1NTX09SSUdJTixcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IHRydWUsXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHhzc1Byb3RlY3Rpb246IHtcbiAgICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIG1vZGVCbG9jazogdHJ1ZSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVja2V0KSxcbiAgICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LkNPUlNfUzNfT1JJR0lOLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgY2FjaGVQb2xpY3k6IGNsb3VkZnJvbnQuQ2FjaGVQb2xpY3kuQ0FDSElOR19PUFRJTUlaRUQsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTogcmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBkb21haW5OYW1lczogW2RvbWFpbk5hbWVdLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBjZXJ0aWZpY2F0ZSxcbiAgICAgIGRlZmF1bHRSb290T2JqZWN0OiAnaW5kZXguaHRtbCcsXG4gICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBjbG91ZGZyb250LlNlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAxOCxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IHJvdXRlNTMuUmVjb3JkU2V0KHRoaXMsICdSZWNvcmRTZXQnLCB7XG4gICAgICByZWNvcmROYW1lOiBzdWJEb21haW4sXG4gICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgcmVjb3JkVHlwZTogcm91dGU1My5SZWNvcmRUeXBlLkEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gICAgbmV3IENsYWlkb21ldGVyKHRoaXMsICdDbGFpZG9tZXRlcicsIHtcbiAgICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmZWF0dXJlLFxuICAgICAgdmVyc2lvbjogJzAuMC4yJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFzRDtBQUN0RCwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUF1QzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBaEJHLFFBQUEsbUJBQW1CLHVCQWdCdEI7QUFFVjs7OztHQUlHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxpQ0FBYyxD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QUUsYUFBYTtvQkFDL0IsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0Q7b0JBQ0UsVUFBVSxFQUFFLEdBQUc7b0JBQ2Ysa0JBQWtCLEVBQUUsR0FBRztvQkFDdkIsZ0JBQWdCLEVBQUUsYUFBYTtvQkFDL0IsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3ZDLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25FLElBQUksNkJBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxvQ0FBa0IsQ0FBQyxnQkFBZ0I7WUFDNUMsV0FBVztZQUNYLE9BQU87WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWhJSCw4REFpSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgZmlsZXMgdG8gc2VydmVcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgc3ViZG9tYWluIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgYW4gZW1wdHkgc3RyaW5nLCBpLmUuIG5vIHN1YkRvbWFpbiB3aWxsIGJlIHVzZWQuXG4gICAgICogSW5zdGVhZCwgdGhlIG5hbWUgb2YgdGhlIGhvc3RlZCB6b25lIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgc3ViRG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBob3N0ZWQgem9uZSBvZiB0aGUgZG9tYWluIHVuZGVyIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgc2VydmVkLiBJZiBub3QgZ2l2ZW4sIHRoZSBkZWZhdWx0IGhvc3RlZCBab25lXG4gICAgICogcHJvdmlkZWQgYnkgUklPIHNldHVwIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZT86IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvIGJlIHNlbnQgYXMgYSBoZWFkZXIgd2hlbiBkZWxpdmVyaW5nIHRoZSBidWNrZXQgY29udGVudC5cbiAgICAgKiBJZiBub3Qgc2V0LCBhIHJpbyBEZWZhdWx0IHdpbGwgYmUgdXNlZC4gVGhlIGRlZmF1bHQgc2hvdWxkIGNvdmVyIGNvbm5lY3Rpb25zIHRvIHNwbGl0LmlvLCBzZW50cnkgYW5kIGRhdGFkb2csXG4gICAgICogYXMgd2VsbCBhcyBhIGhhc2ggdG8gc3VwcG9ydCBnb29nbGUgdGFnTWFuZ2VyLiBUaGUgbGF0dGVyIG1pZ2h0IG5lZWQgdG8gYmUgYWRhcHRlZCBpZiB5b3UgY2hhbmdlIHRoZSBtaW5pZmljYXRpb24gb2ZcbiAgICAgKiB0aGUgaW5kZXguaHRtbCwgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBjc3AgaGVyZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBmdW5jdGlvbnMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiB0aGUgZGlzdHJpYnV0aW9uLlxuICAgKiBJZiBub3QgZ2l2ZW4sIG5vIGZ1bmN0aW9ucyB3aWxsIGJlIGFzc2lnbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25Bc3NvY2lhdGlvbnM/OiBjbG91ZGZyb250LkZ1bmN0aW9uQXNzb2NpYXRpb25bXTtcbn1cblxuY29uc3QgYWx3YXlzQWxsb3dlZENTUFNvdXJjZXMgPSBcIidzZWxmJyBodHRwczovLyoucmlvLmNsb3VkIGh0dHBzOi8vcmlvLmNsb3VkXCI7XG4vLyBUaGUgaGFzaCBpbiBzY3JpcHQgc3JjIGlzIGZvciB0aGUgZ29vZ2xlIHRhZ01hbmFnZXIgc2NyaXB0IGluY2x1ZGVkIGluIHRoZSBpbmRleC5odG1sXG5leHBvcnQgY29uc3QgY3JlYXRlUmlvRGVmYXVsdENTUCA9IChhZGRpdGlvbmFsU2NyaXB0U291cmNlcz86IHN0cmluZykgPT4gYFxuICAgICAgIGRlZmF1bHQtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGNvbm5lY3Qtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IGh0dHBzOi8vKi5zZW50cnkuaW8gaHR0cHM6Ly9zZW50cnkuaW8gaHR0cHM6Ly9zZGsuc3BsaXQuaW8gaHR0cHM6Ly8qLmRhdGFkb2docS5ldSBodHRwczovLyouYnJvd3Nlci1pbnRha2UtZGF0YWRvZ2hxLmV1IGh0dHBzOi8vY2RuLWV1LmNvbmZpZ2NhdC5jb20gaHR0cHM6Ly9icm93c2VyLWludGFrZS1kYXRhZG9naHEuZXU7XG4gICAgICAgZm9udC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gZGF0YTo7XG4gICAgICAgaW1nLXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSB3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20gZGF0YTo7XG4gICAgICAgb2JqZWN0LXNyYyAnbm9uZSc7XG4gICAgICAgc2NyaXB0LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbVxuICAgICAgICAnc2hhMjU2LUhEV0FnZlRlTUFndVQ4d0Z3Nys5Mlk3aTRFby82UlVRUXVBM1RXOUp4YkE9J1xuICAgICAgICAke2FkZGl0aW9uYWxTY3JpcHRTb3VyY2VzID8gJyAnICsgYWRkaXRpb25hbFNjcmlwdFNvdXJjZXMgOiAnJ307XG4gICAgICAgc3R5bGUtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9ICd1bnNhZmUtaW5saW5lJztcbiAgICAgICBiYXNlLXVyaSAnc2VsZic7XG4gICAgICAgZm9ybS1hY3Rpb24gJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgZnJhbWUtYW5jZXN0b3JzICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGZyYW1lLXNyYyAnc2VsZicgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgYFxuICAucmVwbGFjZSgvW1xcclxcblxcc10rL2csICcgJylcbiAgLnRyaW0oKTtcblxuLyoqXG4gKiBBIENvbnN0cnVjdCB3aGljaCBjcmVhdGVzIGEgZGVmYXVsdCBjbG91ZGZyb250IGRpc3RyaWJ1dGlvbiB1c2luZyBhIHMzIGJ1Y2tldCBhcyBvcmlnaW4uXG4gKiBJbnRlbmRlZCBmb3IgZGVsaXZlcnkgb2YgaHRtbCBkb2N1bWVudHMuIEl0IHNldHMgc29tZSBkZWZhdWx0cyBhIHJlY29tbWVuZGVkIGJ5IEFXUyBhbmQgcHJvdmlkZXMgYmFzaWMgc2VjdXJpdHkgaGVhZGVyLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb24gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSBkaXN0cmlidXRpb246IGNsb3VkZnJvbnQuSURpc3RyaWJ1dGlvbjtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBob3N0ZWRab25lID0gcHJvcHMuaG9zdGVkWm9uZSA/PyBSaW9MYW5kaW5nWm9uZS5nZXREZWZhdWx0SG9zdGVkWm9uZSh0aGlzKTtcbiAgICBjb25zdCBzdWJEb21haW4gPSBwcm9wcy5zdWJEb21haW4gPz8gJyc7XG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHByb3BzLnN1YkRvbWFpbiA9PT0gdW5kZWZpbmVkID8gaG9zdGVkWm9uZS56b25lTmFtZSA6IHN1YkRvbWFpbiArICcuJyArIGhvc3RlZFpvbmUuem9uZU5hbWU7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29udGVudFNlY3VyaXR5UG9saWN5ID0gY3JlYXRlUmlvRGVmYXVsdENTUCgpO1xuICAgIGNvbnN0IGNvbnRlbnRTZWN1cml0eVBvbGljeSA9IHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeSA/PyBkZWZhdWx0Q29udGVudFNlY3VyaXR5UG9saWN5O1xuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgYWNtLkRuc1ZhbGlkYXRlZENlcnRpZmljYXRlKHRoaXMsICdDbG91ZGZyb250RGlzdHJpYnV0aW9uQ2VydGlmaWNhdGUnLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLFxuICAgICAgaG9zdGVkWm9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgfSk7XG5cbiAgICBjb25zdCBvcmlnaW5BY2Nlc3NJZGVudGl0eSA9IG5ldyBjbG91ZGZyb250Lk9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsICdPcmlnaW5BY2Nlc3NJZGVudGl0eScsIHtcbiAgICAgIGNvbW1lbnQ6IGBBY2Nlc3NJZGVudGl0eSBmb3IgJHtkb21haW5OYW1lfWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdGcm9udEVuZEJ1Y2tldCcsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IHByb3BzLmNvbnRlbnRCdWNrZXROYW1lLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdFeHBpcmVzT2JqZWN0cycsXG4gICAgICAgICAgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cyg5MCksXG4gICAgICAgICAgbm9uY3VycmVudFZlcnNpb25FeHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgY29yczogW1xuICAgICAgICB7XG4gICAgICAgICAgYWxsb3dlZE1ldGhvZHM6IFtzMy5IdHRwTWV0aG9kcy5HRVRdLFxuICAgICAgICAgIGFsbG93ZWRPcmlnaW5zOiBbJyonXSxcbiAgICAgICAgICBhbGxvd2VkSGVhZGVyczogWycqJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICAgIGJ1Y2tldC5ncmFudFJlYWQoXG4gICAgICBuZXcgaWFtLkNhbm9uaWNhbFVzZXJQcmluY2lwYWwob3JpZ2luQWNjZXNzSWRlbnRpdHkuY2xvdWRGcm9udE9yaWdpbkFjY2Vzc0lkZW50aXR5UzNDYW5vbmljYWxVc2VySWQpLFxuICAgICAgJyonLFxuICAgICk7XG5cbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnNQb2xpY3kgPSBuZXcgY2xvdWRmcm9udC5SZXNwb25zZUhlYWRlcnNQb2xpY3kodGhpcywgJ1Jlc3BvbnNlSGVhZGVyc1BvbGljeScsIHtcbiAgICAgIGNvbW1lbnQ6ICdQb2xpY3kgZm9yIENsb3VkRnJvbnQgcmVzcG9uc2VzJyxcbiAgICAgIGNvcnNCZWhhdmlvcjoge1xuICAgICAgICBhY2Nlc3NDb250cm9sQWxsb3dDcmVkZW50aWFsczogZmFsc2UsXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnM6IFsnKiddLFxuICAgICAgICBhY2Nlc3NDb250cm9sQWxsb3dNZXRob2RzOiBbJ0dFVCddLFxuICAgICAgICBhY2Nlc3NDb250cm9sQWxsb3dPcmlnaW5zOiBbaG9zdGVkWm9uZS56b25lTmFtZV0sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xNYXhBZ2U6IER1cmF0aW9uLnNlY29uZHMoNjAwKSxcbiAgICAgICAgb3JpZ2luT3ZlcnJpZGU6IHRydWUsXG4gICAgICB9LFxuICAgICAgc2VjdXJpdHlIZWFkZXJzQmVoYXZpb3I6IHtcbiAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgY29udGVudFNlY3VyaXR5UG9saWN5OiBjb250ZW50U2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRUeXBlT3B0aW9uczogeyBvdmVycmlkZTogdHJ1ZSB9LFxuICAgICAgICBmcmFtZU9wdGlvbnM6IHsgZnJhbWVPcHRpb246IGNsb3VkZnJvbnQuSGVhZGVyc0ZyYW1lT3B0aW9uLkRFTlksIG92ZXJyaWRlOiB0cnVlIH0sXG4gICAgICAgIHJlZmVycmVyUG9saWN5OiB7XG4gICAgICAgICAgcmVmZXJyZXJQb2xpY3k6IGNsb3VkZnJvbnQuSGVhZGVyc1JlZmVycmVyUG9saWN5LlNUUklDVF9PUklHSU5fV0hFTl9DUk9TU19PUklHSU4sXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5OiB7XG4gICAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uZGF5cygzNjUpLFxuICAgICAgICAgIGluY2x1ZGVTdWJkb21haW5zOiB0cnVlLFxuICAgICAgICAgIG92ZXJyaWRlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB4c3NQcm90ZWN0aW9uOiB7XG4gICAgICAgICAgcHJvdGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgICBtb2RlQmxvY2s6IHRydWUsXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaXN0cmlidXRpb24gPSBuZXcgY2xvdWRmcm9udC5EaXN0cmlidXRpb24odGhpcywgJ0Rpc3RyaWJ1dGlvbicsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IG5ldyBvcmlnaW5zLlMzT3JpZ2luKGJ1Y2tldCksXG4gICAgICAgIG9yaWdpblJlcXVlc3RQb2xpY3k6IGNsb3VkZnJvbnQuT3JpZ2luUmVxdWVzdFBvbGljeS5DT1JTX1MzX09SSUdJTixcbiAgICAgICAgdmlld2VyUHJvdG9jb2xQb2xpY3k6IGNsb3VkZnJvbnQuVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGNhY2hlUG9saWN5OiBjbG91ZGZyb250LkNhY2hlUG9saWN5LkNBQ0hJTkdfT1BUSU1JWkVELFxuICAgICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3k6IHJlc3BvbnNlSGVhZGVyc1BvbGljeSxcbiAgICAgICAgY29tcHJlc3M6IHRydWUsXG4gICAgICAgIGZ1bmN0aW9uQXNzb2NpYXRpb25zOiBwcm9wcy5mdW5jdGlvbkFzc29jaWF0aW9ucyxcbiAgICAgIH0sXG4gICAgICBkb21haW5OYW1lczogW2RvbWFpbk5hbWVdLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBjZXJ0aWZpY2F0ZSxcbiAgICAgIGRlZmF1bHRSb290T2JqZWN0OiAnaW5kZXguaHRtbCcsXG4gICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBjbG91ZGZyb250LlNlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAxOCxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IHJvdXRlNTMuUmVjb3JkU2V0KHRoaXMsICdSZWNvcmRTZXQnLCB7XG4gICAgICByZWNvcmROYW1lOiBzdWJEb21haW4sXG4gICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgcmVjb3JkVHlwZTogcm91dGU1My5SZWNvcmRUeXBlLkEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gICAgbmV3IENsYWlkb21ldGVyKHRoaXMsICdDbGFpZG9tZXRlcicsIHtcbiAgICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmZWF0dXJlLFxuICAgICAgdmVyc2lvbjogJzAuMC40JyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -196,7 +196,7 @@ class RunnerRoles extends constructs_1.Construct {
|
|
|
196
196
|
],
|
|
197
197
|
Effect: 'Allow',
|
|
198
198
|
Resource: [
|
|
199
|
-
|
|
199
|
+
`arn:aws:ecr:${props.env.region}:${props.env.account}:repository/*`,
|
|
200
200
|
],
|
|
201
201
|
},
|
|
202
202
|
],
|
|
@@ -251,6 +251,7 @@ class RunnerRoles extends constructs_1.Construct {
|
|
|
251
251
|
'cloudformation:DescribeStackEvents',
|
|
252
252
|
'cloudformation:DeleteChangeSet',
|
|
253
253
|
'cloudformation:GetTemplate',
|
|
254
|
+
'cloudformation:ValidateTemplate',
|
|
254
255
|
],
|
|
255
256
|
Resource: [
|
|
256
257
|
`arn:aws:cloudformation:${props.env.region}:${props.env.account}:stack/*`,
|
|
@@ -349,4 +350,4 @@ class RunnerRoles extends constructs_1.Construct {
|
|
|
349
350
|
exports.RunnerRoles = RunnerRoles;
|
|
350
351
|
_a = JSII_RTTI_SYMBOL_1;
|
|
351
352
|
RunnerRoles[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.RunnerRoles", version: "0.0.0" };
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLXJvbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvc21hcnQtcm91dGUvZ2l0bGFiLXJ1bm5lci9ydW5uZXItcm9sZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBZ0U7QUFDaEUsaURBQXNFO0FBQ3RFLGlEQU82QjtBQUM3QiwrQ0FBNEM7QUFDNUMsaURBQXNEO0FBQ3RELDJDQUF1QztBQUN2QyxnRUFBMkQ7QUFNM0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFFeEMsWUFBWSxLQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxvQkFBb0IsR0FBRyxpQ0FBYyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLE1BQU0saUJBQWlCLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzRSxNQUFNLG1CQUFtQixHQUFHLHlCQUFlLENBQUMsdUJBQXVCLENBQ2pFLElBQUksRUFDSixxQkFBcUIsRUFDckIsOEJBQThCLENBQy9CLENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUM5Qix5QkFBZSxDQUFDLDZCQUE2QixDQUMzQyxJQUFJLEVBQ0osNEJBQTRCLEVBQzVCO1lBQ0UsYUFBYSxFQUFFLGtDQUFrQztTQUNsRCxDQUNGLENBQUM7UUFDSixNQUFNLGlCQUFpQixHQUFHLGVBQU0sQ0FBQyxjQUFjLENBQzdDLElBQUksRUFDSixtQkFBbUIsRUFDbkIsMEJBQTBCLENBQUMsV0FBVyxDQUN2QyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcseUJBQWUsQ0FBQyw2QkFBNkIsQ0FDakUsSUFBSSxFQUNKLG9CQUFvQixFQUNwQjtZQUNFLGFBQWEsRUFBRSx5Q0FBeUM7U0FDekQsQ0FDRixDQUFDO1FB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QUFHLElBQUksdUJBQVMsQ0FDbEQsS0FBSyxFQUNMLGdDQUFnQyxFQUNoQztZQUNFLEtBQUssRUFBRSxhQUFhLENBQUMsUUFBUTtZQUM3QixVQUFVLEVBQUUsdUNBQXVDO1NBQ3BELENBQ0YsQ0FBQztRQUNGLDhCQUE4QixDQUFDLGlCQUFpQixDQUM5QyxnQ0FBZ0MsQ0FDakMsQ0FBQztRQUNGLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSx1QkFBUyxDQUNqRCxLQUFLLEVBQ0wsK0JBQStCLEVBQy9CO1lBQ0UsS0FBSyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1lBQzVCLFVBQVUsRUFBRSxzQ0FBc0M7U0FDbkQsQ0FDRixDQUFDO1FBQ0YsNkJBQTZCLENBQUMsaUJBQWlCLENBQzdDLCtCQUErQixDQUNoQyxDQUFDO1FBRUYsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLHVCQUFTLENBQ3BELEtBQUssRUFDTCxrQ0FBa0MsRUFDbEM7WUFDRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtZQUNqQyxVQUFVLEVBQUUsd0NBQXdDO1NBQ3JELENBQ0YsQ0FBQztRQUNGLGdDQUFnQyxDQUFDLGlCQUFpQixDQUNoRCxrQ0FBa0MsQ0FDbkMsQ0FBQztRQUNGLE1BQU0sK0JBQStCLEdBQUcsSUFBSSx1QkFBUyxDQUNuRCxLQUFLLEVBQ0wsaUNBQWlDLEVBQ2pDO1lBQ0UsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE9BQU87WUFDaEMsVUFBVSxFQUFFLHVDQUF1QztTQUNwRCxDQUNGLENBQUM7UUFDRiwrQkFBK0IsQ0FBQyxpQkFBaUIsQ0FDL0MsaUNBQWlDLENBQ2xDLENBQUM7SUFDSixDQUFDOztBQXJiSCxrQ0FzYkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIEVudmlyb25tZW50LCBGbiwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBQdWJsaWNHYWxsZXJ5QXV0aG9yaXphdGlvblRva2VuIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcic7XG5pbXBvcnQge1xuICBDZm5Sb2xlLFxuICBNYW5hZ2VkUG9saWN5LFxuICBQb2xpY3lEb2N1bWVudCxcbiAgUG9saWN5U3RhdGVtZW50LFxuICBSb2xlLFxuICBTZXJ2aWNlUHJpbmNpcGFsLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUmlvTGFuZGluZ1pvbmUgfSBmcm9tICcuLi8uLi8uLi9yaW8tbGFuZGluZy16b25lJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW5uZXJSb2xlUHJvcHMge1xuICByZWFkb25seSBlbnY6IEVudmlyb25tZW50O1xufVxuXG4vKipcbiAqIFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIGEgc2V0IG9mIGJhc2Ugcm9sZXMgZm9yIGdpdGxhYiBydW5uZXJzIGluIG9yZGVyIHRvIGJ1aWxkLCB0ZXN0LCB2YWxpZGF0ZSBhbmQgZGVwbG95IGFwcGxpY2F0aW9uc1xuICogb24gUklPLiBUaGUgcm9sZXMgbmVlZCB0byBiZSBhc3N1bWVkIGR1cmluZyBqb2IgcnVudGltZSB0byBwZXJmb3JtIG1vcmUgcGVybWlzc2l2ZSBhY3Rpb25zLCBzdWNoIGFzIGNyZWF0aW5nIGNlcnRpZmljYXRlcyB0b1xuICogYXV0aGVudGljYXRlIHRvd2FyZHMgdGhlIFJJTyBNU0ssIHB1c2hpbmcgZG9ja2VyIGltYWdlcyB0byBFQ1IsIHBlcmZvcm1pbmcgYSBzZWNyZXRzIGJhY2t1cCwgZGVwbG95aW5nIHN0YWNrcyxcbiAqIG9yIHRvIHB1Ymxpc2ggYW4gU1BBIHRvIGEgUzMgYnVja2V0LiBEbyBub3QgYXNzdW1lIHRoZSBkZXBsb3ltZW50IHJvbGUgdW5sZXNzIG5lZWRlZC5cbiAqIFRoZSBiYXNlIHJvbGUgY2FuIGJlIHRoZSBkZWZhdWx0IHJvbGUgYXR0YWNoZWQgdG8gR2l0TGFiIHJ1bm5lcnMuXG4gKiBUaGUgcm9sZSBhbGxvd3MgdG8gcmVhZCB2YXJpb3VzIGJhc2ljIHBhcmFtZXRlcnMgc3VjaCBhcyB0aGUgTklTVCBkYXRhIG1pcnJvciwgdGhlIE9TUyBsaWNlbnNlIGJ1Y2tldCwgRGF0YURvZyBrZXlzXG4gKiBhbmQgdG8gcHVsbCBFQ1IgaW1hZ2VzIGZvcm0gcHVibGljIEdhbGxlcnkgb3IgdGhlIHNwZWNpZmllZCBhY2NvdW50IGluIHRoZSBlbnZpcm9ubWVudC5cbiAqIFRoZSBSb2xlIEFSTnMgYXJlIGV4cG9ydCB1c2luZyBDRk5PdXRwdXRzLiBVc2UgdGhlIG91dHB1dHMgdG8gY29uZmlndXJlIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB5b3VyIEdpdExhYiBncm91cC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJ1bm5lclJvbGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcnVubmVyQmFzZVJvbGU6IFJvbGU7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBTdGFjaywgaWQ6IHN0cmluZywgcHJvcHM6IFJ1bm5lclJvbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgYWNjb3VudE5hbWVQYXJhbWV0ZXIgPSBSaW9MYW5kaW5nWm9uZS5nZXRBY2NvdW50TmFtZVBhcmFtZXRlcihzY29wZSk7XG4gICAgY29uc3QgdGVhbU5hbWVQYXJhbWV0ZXIgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtSWRlbnRpZmllclBhcmFtZXRlcihzY29wZSk7XG5cbiAgICBjb25zdCBuaXN0TWlycm9yUGFyYW1ldGVyID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKFxuICAgICAgdGhpcyxcbiAgICAgICdOaXN0TWlycm9yUGFyYW1ldGVyJyxcbiAgICAgICcvY29uZmlnL25pc3QtZGF0YS1taXJyb3IvdXJsJyxcbiAgICApO1xuXG4gICAgY29uc3Qgb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIgPVxuICAgICAgU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKFxuICAgICAgICB0aGlzLFxuICAgICAgICAnT3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXInLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogJy9jb25maWcvb3NzLWxpY2Vuc2VzL2J1Y2tldC1uYW1lJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgY29uc3Qgb3NzTGljZW5zZXNCdWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgJ09zc0xpY2Vuc2VzQnVja2V0JyxcbiAgICAgIG9zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLnN0cmluZ1ZhbHVlLFxuICAgICk7XG5cbiAgICBjb25zdCBkZEFwaUtleVBhcmFtID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKFxuICAgICAgdGhpcyxcbiAgICAgICdEYXRhRG9nQXBpS2V5UGFyYW0nLFxuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXJOYW1lOiAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9hcGkta2V5JyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBjb25zdCBkZFNpdGVQYXJhbSA9IFN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyhcbiAgICAgIHRoaXMsXG4gICAgICAnRGF0YURvZ1NpdGVQYXJhbScsXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlck5hbWU6ICcvcmlvL2NvbmZpZy9kYXRhZG9nLWludGVncmF0aW9uL3NpdGUnLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3Qga2Fma2FJbnRlZ3JhdGlvblBvbGljeSA9IE1hbmFnZWRQb2xpY3kuZnJvbU1hbmFnZWRQb2xpY3lBcm4oXG4gICAgICB0aGlzLFxuICAgICAgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knLFxuICAgICAgRm4uaW1wb3J0VmFsdWUoJ2thZmthLWludGVncmF0aW9uLXBvbGljeS1hcm4nKSxcbiAgICApO1xuXG4gICAgdGhpcy5ydW5uZXJCYXNlUm9sZSA9IG5ldyBSb2xlKHRoaXMsICdHbFJ1bm5lckJ1aWxkUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJywge30pLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgQ2RrU3ludGhMb29rVXA6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgQWN0aW9uOiBbJ3MzOipPYmplY3QnLCAnczM6TGlzdEJ1Y2tldCcsICdzMzpHZXRCdWNrZXRMb2NhdGlvbiddLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogWydhcm46YXdzOnMzOjo6Y2RrdG9vbGtpdC0qJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTaWQ6ICdhc3N1bWVyb2xlJyxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBBY3Rpb246IFsnc3RzOkFzc3VtZVJvbGUnLCAnaWFtOlBhc3NSb2xlJ10sXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLXJlYWRPbmx5Um9sZScsXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLWhuYjY1OWZkcy1sb29rdXAtcm9sZS0qJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFNpZDogJ3B1bGxFY3JJbWFnZXMnLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgICAgICAgICAnZWNyOkJhdGNoR2V0SW1hZ2UnLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVJbWFnZXMnLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVSZXBvc2l0b3JpZXMnLFxuICAgICAgICAgICAgICAgICdlY3I6R2V0RG93bmxvYWRVcmxGb3JMYXllcicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYGFybjphd3M6ZWNyOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cmVwb3NpdG9yeS8qYCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgICh0aGlzLnJ1bm5lckJhc2VSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJvbGUpLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQnVpbGRSb2xlJyxcbiAgICApO1xuICAgIG5pc3RNaXJyb3JQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIG9zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBvc3NMaWNlbnNlc0J1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBhY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQodGhpcy5ydW5uZXJCYXNlUm9sZSk7XG4gICAgdGVhbU5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIGRkQXBpS2V5UGFyYW0uZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIGRkU2l0ZVBhcmFtLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBQdWJsaWNHYWxsZXJ5QXV0aG9yaXphdGlvblRva2VuLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcblxuICAgIGNvbnN0IHdlYkNvbnRlbnRQdWJsaXNoUm9sZSA9IG5ldyBSb2xlKFxuICAgICAgdGhpcyxcbiAgICAgICdHbFJ1bm5lclMzV2ViQ29udGVudERlcGxveVJvbGUnLFxuICAgICAge1xuICAgICAgICByb2xlTmFtZTogJ2dsLXJ1bm5lci13ZWItY29udGVudC1zMy1kZXBsb3ktcm9sZScsXG4gICAgICAgIGFzc3VtZWRCeTogdGhpcy5ydW5uZXJCYXNlUm9sZSxcbiAgICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgICBQdWJsaXNoV2ViQ29udGVudE9uUzM6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgICAgJ3MzOkFib3J0KicsXG4gICAgICAgICAgICAgICAgICAnczM6RGVsZXRlT2JqZWN0KicsXG4gICAgICAgICAgICAgICAgICAnczM6R2V0QnVja2V0KicsXG4gICAgICAgICAgICAgICAgICAnczM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAgICAgICAnczM6TGlzdConLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdCcsXG4gICAgICAgICAgICAgICAgICAnczM6UHV0T2JqZWN0TGVnYWxIb2xkJyxcbiAgICAgICAgICAgICAgICAgICdzMzpQdXRPYmplY3RSZXRlbnRpb24nLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdFRhZ2dpbmcnLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdFZlcnNpb25UYWdnaW5nJyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFJlc291cmNlOiBbJ2Fybjphd3M6czM6OjoqJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAgICdzc206RGVzY3JpYmVQYXJhbWV0ZXJzJyxcbiAgICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVySGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAnc3NtOkdldFBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICAgICAgJ3NzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoJyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cGFyYW1ldGVyL2NvbmZpZy8qYCxcbiAgICAgICAgICAgICAgICAgIGBhcm46YXdzOnNzbToke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnBhcmFtZXRlci9zZWNyZXQvKmAsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gICAgKHdlYkNvbnRlbnRQdWJsaXNoUm9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Sb2xlKS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lclMzV2ViQ29udGVudERlcGxveVJvbGUnLFxuICAgICk7XG5cbiAgICBjb25zdCBjcmVhdGVNU0tDZXJ0Um9sZSA9IG5ldyBSb2xlKHRoaXMsICdHbFJ1bm5lckNyZWF0ZUFuZFNpZ25DZXJ0Um9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiAnZ2wtcnVubmVyLWNyZWF0ZS1hbmQtc2lnbi1yaW8tbXNrLWNlcnQtcm9sZScsXG4gICAgICBhc3N1bWVkQnk6IHRoaXMucnVubmVyQmFzZVJvbGUsXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBQYXJhbWV0ZXJTdG9yZVJlYWRLZXlTdG9yZTogUG9saWN5RG9jdW1lbnQuZnJvbUpzb24oe1xuICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ3NzbTpEZXNjcmliZVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAnc3NtOkdldFBhcmFtZXRlckhpc3RvcnknLFxuICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVycycsXG4gICAgICAgICAgICAgICAgJ3NzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnNzbToke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnBhcmFtZXRlci9jb25maWcvKmAsXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cGFyYW1ldGVyL3NlY3JldC8qYCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICAgIFNlY3JldHNNYW5hZ2VyUmVhZEtleVN0b3JlOiBQb2xpY3lEb2N1bWVudC5mcm9tSnNvbih7XG4gICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFJlc291cmNlUG9saWN5JyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6TGlzdFNlY3JldFZlcnNpb25JZHMnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtwcm9wcy5lbnYucmVnaW9ufToke3Byb3BzLmVudi5hY2NvdW50fTpzZWNyZXQ6L3NlY3JldC8qL3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmQtPz8/Pz8/YCxcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnNlY3JldDovc2VjcmV0Lyovc2VydmljZS1rZXlzdG9yZS1wYXNzd29yZGAsXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtwcm9wcy5lbnYucmVnaW9ufToke3Byb3BzLmVudi5hY2NvdW50fTpzZWNyZXQ6L2NvbmZpZy8qL3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmQtPz8/Pz8/YCxcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnNlY3JldDovY29uZmlnLyovc2VydmljZS1rZXlzdG9yZS1wYXNzd29yZGAsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2thZmthSW50ZWdyYXRpb25Qb2xpY3ldLFxuICAgIH0pO1xuICAgIGFjY291bnROYW1lUGFyYW1ldGVyLmdyYW50UmVhZChjcmVhdGVNU0tDZXJ0Um9sZSk7XG4gICAgdGVhbU5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIChjcmVhdGVNU0tDZXJ0Um9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Sb2xlKS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNyZWF0ZUFuZFNpZ25DZXJ0Um9sZScsXG4gICAgKTtcblxuICAgIGNvbnN0IGVjckRlcGxveVJvbGUgPSBuZXcgUm9sZSh0aGlzLCAnR2xSdW5uZXJFQ1JEZXBsb3lSb2xlJywge1xuICAgICAgcm9sZU5hbWU6ICdnbC1ydW5uZXItZGVwbG95LXRvLWVjci1yb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogdGhpcy5ydW5uZXJCYXNlUm9sZSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIERlcGxveVRvRUNSOiBQb2xpY3lEb2N1bWVudC5mcm9tSnNvbih7XG4gICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAnZWNyOkJhdGNoQ2hlY2tMYXllckF2YWlsYWJpbGl0eScsXG4gICAgICAgICAgICAgICAgJ2VjcjpCYXRjaEdldEltYWdlJyxcbiAgICAgICAgICAgICAgICAnZWNyOkNvbXBsZXRlTGF5ZXJVcGxvYWQnLFxuICAgICAgICAgICAgICAgICdlY3I6R2V0RG93bmxvYWRVcmxGb3JMYXllcicsXG4gICAgICAgICAgICAgICAgJ2VjcjpJbml0aWF0ZUxheWVyVXBsb2FkJyxcbiAgICAgICAgICAgICAgICAnZWNyOlB1dEltYWdlJyxcbiAgICAgICAgICAgICAgICAnZWNyOlVwbG9hZExheWVyUGFydCcsXG4gICAgICAgICAgICAgICAgJ2VjcjpHZXRBdXRob3JpemF0aW9uVG9rZW4nLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVSZXBvc2l0b3JpZXMnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYCR7cHJvcHMuZW52LmFjY291bnR9LmRrci5lY3IuJHtwcm9wcy5lbnYucmVnaW9ufS5hbWF6b25hd3MuY29tLypgLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgUHVibGljR2FsbGVyeUF1dGhvcml6YXRpb25Ub2tlbi5ncmFudFJlYWQoZWNyRGVwbG95Um9sZSk7XG4gICAgKGVjckRlcGxveVJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUm9sZSkub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJFQ1JEZXBsb3lSb2xlJyxcbiAgICApO1xuXG4gICAgY29uc3QgaWFtUG9saWN5S01TID0gbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0J10sXG4gICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgJ2Fybjphd3M6a21zOio6OTAzNDA0Mzg2NTUwOmtleS8qJyxcbiAgICAgICAgYGFybjphd3M6a21zOio6JHtwcm9wcy5lbnYuYWNjb3VudH06a2V5LypgLFxuICAgICAgXSxcbiAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgJ0ZvckFueVZhbHVlOlN0cmluZ0xpa2UnOiB7XG4gICAgICAgICAgJ2ttczpSZXNvdXJjZUFsaWFzZXMnOiAnYWxpYXMvcmlvLWx6LWJhY2t1cC1rZXkqJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgaWFtUG9saWN5TGFtYmRhRXhlY3V0aW9uID0gbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgIGBhcm46YXdzOmxhbWJkYTpldS13ZXN0LTE6JHtwcm9wcy5lbnYuYWNjb3VudH06ZnVuY3Rpb246U2VjcmV0c1Jlc3RvcmVIYW5kbGVyYCxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgY29uc3Qgc2VjcmV0c0JhY2tVcFJvbGUgPSBuZXcgUm9sZSh0aGlzLCAnR2xSdW5uZXJTZWNyZXRzQmFja3VwUm9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiAnZ2wtcnVubmVyLXNlY3JldHMtYmFja3VwLXJvbGUnLFxuICAgICAgYXNzdW1lZEJ5OiB0aGlzLnJ1bm5lckJhc2VSb2xlLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgU2VjcmV0c0JhY2t1cDogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbaWFtUG9saWN5S01TLCBpYW1Qb2xpY3lMYW1iZGFFeGVjdXRpb25dLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgKHNlY3JldHNCYWNrVXBSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJvbGUpLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyU2VjcmV0c0JhY2t1cFJvbGUnLFxuICAgICk7XG5cbiAgICBjb25zdCBkZXBsb3lSb2xlID0gbmV3IFJvbGUodGhpcywgJ0dsUnVubmVyQ0RLRGVwbG95Um9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiAnZ2wtcnVubmVyLWNkay1kZXBsb3ktcm9sZScsXG4gICAgICBhc3N1bWVkQnk6IHRoaXMucnVubmVyQmFzZVJvbGUsXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtrYWZrYUludGVncmF0aW9uUG9saWN5XSwgLy8gcmVxdWlyZWQgdG8gY3JlYXRlIEthZmthIHRvcGljcyBhbmQgcHVibGlzaCBldmVudCBzcGVjaWZpY2F0aW9uIGluIGRlcGxveSBqb2JzXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBDZGtEZXBsb3k6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tzJyxcbiAgICAgICAgICAgICAgICAnY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgICAgICAnY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgICAgICdjbG91ZGZvcm1hdGlvbjpFeGVjdXRlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgICAgICAnY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja0V2ZW50cycsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkdldFRlbXBsYXRlJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpjbG91ZGZvcm1hdGlvbjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnN0YWNrLypgLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBBY3Rpb246IFsnczM6Kk9iamVjdCcsICdzMzpMaXN0QnVja2V0JywgJ3MzOkdldEJ1Y2tldExvY2F0aW9uJ10sXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbJ2Fybjphd3M6czM6OjpjZGt0b29sa2l0LSonXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFNpZDogJ2Fzc3VtZXJvbGUnLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIEFjdGlvbjogWydzdHM6QXNzdW1lUm9sZScsICdpYW06UGFzc1JvbGUnXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgICAgICAnYXJuOmF3czppYW06Oio6cm9sZS9jZGstcmVhZE9ubHlSb2xlJyxcbiAgICAgICAgICAgICAgICAnYXJuOmF3czppYW06Oio6cm9sZS9jZGstaG5iNjU5ZmRzLWRlcGxveS1yb2xlLSonLFxuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6Kjpyb2xlL2Nkay1obmI2NTlmZHMtZmlsZS1wdWJsaXNoaW5nLSonLFxuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6Kjpyb2xlL2Nkay1obmI2NTlmZHMtbG9va3VwLXJvbGUtKicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgICBDZm5EZXBsb3k6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgQWN0aW9uOiBbJyonXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IFtcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpjbG91ZGZvcm1hdGlvbjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnN0YWNrLypgLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBDb25kaXRpb246IHtcbiAgICAgICAgICAgICAgICAnRm9yQW55VmFsdWU6U3RyaW5nRXF1YWxzJzoge1xuICAgICAgICAgICAgICAgICAgJ2F3czpDYWxsZWRWaWEnOiAnY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIChkZXBsb3lSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJvbGUpLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQ0RLRGVwbG95Um9sZScsXG4gICAgKTtcblxuICAgIGNvbnN0IGdsUnVubmVyQ2RrRGVwbG95Um9sZUFybiA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES0RlcGxveVJvbGVBcm4nLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogZGVwbG95Um9sZS5yb2xlQXJuLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1kZXBsb3ktcm9sZS1hcm4nLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrRGVwbG95Um9sZUFybi5vdmVycmlkZUxvZ2ljYWxJZCgnR2xSdW5uZXJDREtEZXBsb3lSb2xlQXJuJyk7XG4gICAgY29uc3QgZ2xSdW5uZXJDZGtEZXBsb3lSb2xlTmFtZSA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES0RlcGxveVJvbGVOYW1lJyxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGRlcGxveVJvbGUucm9sZU5hbWUsXG4gICAgICAgIGV4cG9ydE5hbWU6ICdnbC1ydW5uZXItY2RrLWRlcGxveS1yb2xlLW5hbWUnLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrRGVwbG95Um9sZU5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoJ0dsUnVubmVyQ0RLRGVwbG95Um9sZU5hbWUnKTtcblxuICAgIGNvbnN0IGdsUnVubmVyQ2RrQ3JlYXRlQW5kU2lnbkNlcnRSb2xlTmFtZSA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZU5hbWUnLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogY3JlYXRlTVNLQ2VydFJvbGUucm9sZU5hbWUsXG4gICAgICAgIGV4cG9ydE5hbWU6ICdnbC1ydW5uZXItY2RrLWNyZWF0ZS1hbmQtc2lnbi1tc2stY2VydC1yb2xlLW5hbWUnLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrQ3JlYXRlQW5kU2lnbkNlcnRSb2xlTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZU5hbWUnLFxuICAgICk7XG4gICAgY29uc3QgZ2xSdW5uZXJDZGtDcmVhdGVBbmRTaWduQ2VydFJvbGVBcm4gPSBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgc2NvcGUsXG4gICAgICAnR2xSdW5uZXJDREtDcmVhdGVBbmRTaWduQ2VydFJvbGVBcm4nLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogY3JlYXRlTVNLQ2VydFJvbGUucm9sZUFybixcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstY3JlYXRlLWFuZC1zaWduLW1zay1jZXJ0LXJvbGUtYXJuJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZUFybi5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZUFybicsXG4gICAgKTtcblxuICAgIGNvbnN0IGdsUnVubmVyQ2RrUHVibGlzaFdlYkNvbnRlbnRSb2xlTmFtZSA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES1B1Ymxpc2hXZWJDb250ZW50Um9sZU5hbWUnLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogd2ViQ29udGVudFB1Ymxpc2hSb2xlLnJvbGVOYW1lLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1wdWJsaXNoLXdlYi1jb250ZW50LW9uLXMzLXJvbGUtbmFtZScsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtQdWJsaXNoV2ViQ29udGVudFJvbGVOYW1lLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQ0RLUHVibGlzaFdlYkNvbnRlbnRSb2xlTmFtZScsXG4gICAgKTtcbiAgICBjb25zdCBnbFJ1bm5lckNka1B1Ymxpc2hXZWJDb250ZW50Um9sZUFybiA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES1B1Ymxpc2hXZWJDb250ZW50Um9sZUFybicsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB3ZWJDb250ZW50UHVibGlzaFJvbGUucm9sZUFybixcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstcHVibGlzaC13ZWItY29udGVudC1vbi1zMy1yb2xlLWFybicsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtQdWJsaXNoV2ViQ29udGVudFJvbGVBcm4ub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtQdWJsaXNoV2ViQ29udGVudFJvbGVBcm4nLFxuICAgICk7XG5cbiAgICBjb25zdCBnbFJ1bm5lckNka0RlcGxveVRvRWNyUm9sZU5hbWUgPSBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgc2NvcGUsXG4gICAgICAnR2xSdW5uZXJDREtEZXBsb3lUb0VjclJvbGVOYW1lJyxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGVjckRlcGxveVJvbGUucm9sZU5hbWUsXG4gICAgICAgIGV4cG9ydE5hbWU6ICdnbC1ydW5uZXItY2RrLWRlcGxveS10by1lY3Itcm9sZS1uYW1lJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka0RlcGxveVRvRWNyUm9sZU5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtEZXBsb3lUb0VjclJvbGVOYW1lJyxcbiAgICApO1xuICAgIGNvbnN0IGdsUnVubmVyQ2RrRGVwbG95VG9FY3JSb2xlQXJuID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLRGVwbG95VG9FY3JSb2xlQXJuJyxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGVjckRlcGxveVJvbGUucm9sZUFybixcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstZGVwbG95LXRvLWVjci1yb2xlLWFybicsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtEZXBsb3lUb0VjclJvbGVBcm4ub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtEZXBsb3lUb0VjclJvbGVBcm4nLFxuICAgICk7XG5cbiAgICBjb25zdCBnbFJ1bm5lckNka1NlY3JldHNCYWNrdXBSb2xlTmFtZSA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES1NlY3JldHNCYWNrdXBSb2xlTmFtZScsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBzZWNyZXRzQmFja1VwUm9sZS5yb2xlTmFtZSxcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstc2VjcmV0cy1iYWNrdXAtcm9sZS1uYW1lJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka1NlY3JldHNCYWNrdXBSb2xlTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES1NlY3JldHNCYWNrdXBSb2xlTmFtZScsXG4gICAgKTtcbiAgICBjb25zdCBnbFJ1bm5lckNka1NlY3JldHNCYWNrdXBSb2xlQXJuID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLU2VjcmV0c0JhY2t1cFJvbGVBcm4nLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogc2VjcmV0c0JhY2tVcFJvbGUucm9sZUFybixcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstc2VjcmV0cy1iYWNrdXAtcm9sZS1hcm4nLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrU2VjcmV0c0JhY2t1cFJvbGVBcm4ub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtTZWNyZXRzQmFja3VwUm9sZUFybicsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLXJvbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvc21hcnQtcm91dGUvZ2l0bGFiLXJ1bm5lci9ydW5uZXItcm9sZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBZ0U7QUFDaEUsaURBQXNFO0FBQ3RFLGlEQU82QjtBQUM3QiwrQ0FBNEM7QUFDNUMsaURBQXNEO0FBQ3RELDJDQUF1QztBQUN2QyxnRUFBMkQ7QUFNM0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFFeEMsWUFBWSxLQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxvQkFBb0IsR0FBRyxpQ0FBYyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLE1BQU0saUJBQWlCLEdBQUcsaUNBQWMsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzRSxNQUFNLG1CQUFtQixHQUFHLHlCQUFlLENBQUMsdUJBQXVCLENBQ2pFLElBQUksRUFDSixxQkFBcUIsRUFDckIsOEJBQThCLENBQy9CLENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUM5Qix5QkFBZSxDQUFDLDZCQUE2QixDQUMzQyxJQUFJLEVBQ0osNEJBQTRCLEVBQzVCO1lBQ0UsYUFBYSxFQUFFLGtDQUFrQztTQUNsRCxDQUNGLENBQUM7UUFDSixNQUFNLGlCQUFpQixHQUFHLGVBQU0sQ0FBQyxjQUFjLENBQzdDLElBQUksRUFDSixtQkFBbUIsRUFDbkIsMEJBQTBCLENBQUMsV0FBVyxDQUN2QyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcseUJBQWUsQ0FBQyw2QkFBNkIsQ0FDakUsSUFBSSxFQUNKLG9CQUFvQixFQUNwQjtZQUNFLGFBQWEsRUFBRSx5Q0FBeUM7U0FDekQsQ0FDRixDQUFDO1FB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QUFNLDhCQUE4QixHQUFHLElBQUksdUJBQVMsQ0FDbEQsS0FBSyxFQUNMLGdDQUFnQyxFQUNoQztZQUNFLEtBQUssRUFBRSxhQUFhLENBQUMsUUFBUTtZQUM3QixVQUFVLEVBQUUsdUNBQXVDO1NBQ3BELENBQ0YsQ0FBQztRQUNGLDhCQUE4QixDQUFDLGlCQUFpQixDQUM5QyxnQ0FBZ0MsQ0FDakMsQ0FBQztRQUNGLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSx1QkFBUyxDQUNqRCxLQUFLLEVBQ0wsK0JBQStCLEVBQy9CO1lBQ0UsS0FBSyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1lBQzVCLFVBQVUsRUFBRSxzQ0FBc0M7U0FDbkQsQ0FDRixDQUFDO1FBQ0YsNkJBQTZCLENBQUMsaUJBQWlCLENBQzdDLCtCQUErQixDQUNoQyxDQUFDO1FBRUYsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLHVCQUFTLENBQ3BELEtBQUssRUFDTCxrQ0FBa0MsRUFDbEM7WUFDRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtZQUNqQyxVQUFVLEVBQUUsd0NBQXdDO1NBQ3JELENBQ0YsQ0FBQztRQUNGLGdDQUFnQyxDQUFDLGlCQUFpQixDQUNoRCxrQ0FBa0MsQ0FDbkMsQ0FBQztRQUNGLE1BQU0sK0JBQStCLEdBQUcsSUFBSSx1QkFBUyxDQUNuRCxLQUFLLEVBQ0wsaUNBQWlDLEVBQ2pDO1lBQ0UsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE9BQU87WUFDaEMsVUFBVSxFQUFFLHVDQUF1QztTQUNwRCxDQUNGLENBQUM7UUFDRiwrQkFBK0IsQ0FBQyxpQkFBaUIsQ0FDL0MsaUNBQWlDLENBQ2xDLENBQUM7SUFDSixDQUFDOztBQXRiSCxrQ0F1YkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIEVudmlyb25tZW50LCBGbiwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBQdWJsaWNHYWxsZXJ5QXV0aG9yaXphdGlvblRva2VuIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcic7XG5pbXBvcnQge1xuICBDZm5Sb2xlLFxuICBNYW5hZ2VkUG9saWN5LFxuICBQb2xpY3lEb2N1bWVudCxcbiAgUG9saWN5U3RhdGVtZW50LFxuICBSb2xlLFxuICBTZXJ2aWNlUHJpbmNpcGFsLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUmlvTGFuZGluZ1pvbmUgfSBmcm9tICcuLi8uLi8uLi9yaW8tbGFuZGluZy16b25lJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW5uZXJSb2xlUHJvcHMge1xuICByZWFkb25seSBlbnY6IEVudmlyb25tZW50O1xufVxuXG4vKipcbiAqIFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIGEgc2V0IG9mIGJhc2Ugcm9sZXMgZm9yIGdpdGxhYiBydW5uZXJzIGluIG9yZGVyIHRvIGJ1aWxkLCB0ZXN0LCB2YWxpZGF0ZSBhbmQgZGVwbG95IGFwcGxpY2F0aW9uc1xuICogb24gUklPLiBUaGUgcm9sZXMgbmVlZCB0byBiZSBhc3N1bWVkIGR1cmluZyBqb2IgcnVudGltZSB0byBwZXJmb3JtIG1vcmUgcGVybWlzc2l2ZSBhY3Rpb25zLCBzdWNoIGFzIGNyZWF0aW5nIGNlcnRpZmljYXRlcyB0b1xuICogYXV0aGVudGljYXRlIHRvd2FyZHMgdGhlIFJJTyBNU0ssIHB1c2hpbmcgZG9ja2VyIGltYWdlcyB0byBFQ1IsIHBlcmZvcm1pbmcgYSBzZWNyZXRzIGJhY2t1cCwgZGVwbG95aW5nIHN0YWNrcyxcbiAqIG9yIHRvIHB1Ymxpc2ggYW4gU1BBIHRvIGEgUzMgYnVja2V0LiBEbyBub3QgYXNzdW1lIHRoZSBkZXBsb3ltZW50IHJvbGUgdW5sZXNzIG5lZWRlZC5cbiAqIFRoZSBiYXNlIHJvbGUgY2FuIGJlIHRoZSBkZWZhdWx0IHJvbGUgYXR0YWNoZWQgdG8gR2l0TGFiIHJ1bm5lcnMuXG4gKiBUaGUgcm9sZSBhbGxvd3MgdG8gcmVhZCB2YXJpb3VzIGJhc2ljIHBhcmFtZXRlcnMgc3VjaCBhcyB0aGUgTklTVCBkYXRhIG1pcnJvciwgdGhlIE9TUyBsaWNlbnNlIGJ1Y2tldCwgRGF0YURvZyBrZXlzXG4gKiBhbmQgdG8gcHVsbCBFQ1IgaW1hZ2VzIGZvcm0gcHVibGljIEdhbGxlcnkgb3IgdGhlIHNwZWNpZmllZCBhY2NvdW50IGluIHRoZSBlbnZpcm9ubWVudC5cbiAqIFRoZSBSb2xlIEFSTnMgYXJlIGV4cG9ydCB1c2luZyBDRk5PdXRwdXRzLiBVc2UgdGhlIG91dHB1dHMgdG8gY29uZmlndXJlIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB5b3VyIEdpdExhYiBncm91cC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJ1bm5lclJvbGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcnVubmVyQmFzZVJvbGU6IFJvbGU7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBTdGFjaywgaWQ6IHN0cmluZywgcHJvcHM6IFJ1bm5lclJvbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgYWNjb3VudE5hbWVQYXJhbWV0ZXIgPSBSaW9MYW5kaW5nWm9uZS5nZXRBY2NvdW50TmFtZVBhcmFtZXRlcihzY29wZSk7XG4gICAgY29uc3QgdGVhbU5hbWVQYXJhbWV0ZXIgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtSWRlbnRpZmllclBhcmFtZXRlcihzY29wZSk7XG5cbiAgICBjb25zdCBuaXN0TWlycm9yUGFyYW1ldGVyID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKFxuICAgICAgdGhpcyxcbiAgICAgICdOaXN0TWlycm9yUGFyYW1ldGVyJyxcbiAgICAgICcvY29uZmlnL25pc3QtZGF0YS1taXJyb3IvdXJsJyxcbiAgICApO1xuXG4gICAgY29uc3Qgb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIgPVxuICAgICAgU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKFxuICAgICAgICB0aGlzLFxuICAgICAgICAnT3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXInLFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogJy9jb25maWcvb3NzLWxpY2Vuc2VzL2J1Y2tldC1uYW1lJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgY29uc3Qgb3NzTGljZW5zZXNCdWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgJ09zc0xpY2Vuc2VzQnVja2V0JyxcbiAgICAgIG9zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLnN0cmluZ1ZhbHVlLFxuICAgICk7XG5cbiAgICBjb25zdCBkZEFwaUtleVBhcmFtID0gU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKFxuICAgICAgdGhpcyxcbiAgICAgICdEYXRhRG9nQXBpS2V5UGFyYW0nLFxuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXJOYW1lOiAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9hcGkta2V5JyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBjb25zdCBkZFNpdGVQYXJhbSA9IFN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyhcbiAgICAgIHRoaXMsXG4gICAgICAnRGF0YURvZ1NpdGVQYXJhbScsXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlck5hbWU6ICcvcmlvL2NvbmZpZy9kYXRhZG9nLWludGVncmF0aW9uL3NpdGUnLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3Qga2Fma2FJbnRlZ3JhdGlvblBvbGljeSA9IE1hbmFnZWRQb2xpY3kuZnJvbU1hbmFnZWRQb2xpY3lBcm4oXG4gICAgICB0aGlzLFxuICAgICAgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knLFxuICAgICAgRm4uaW1wb3J0VmFsdWUoJ2thZmthLWludGVncmF0aW9uLXBvbGljeS1hcm4nKSxcbiAgICApO1xuXG4gICAgdGhpcy5ydW5uZXJCYXNlUm9sZSA9IG5ldyBSb2xlKHRoaXMsICdHbFJ1bm5lckJ1aWxkUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJywge30pLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgQ2RrU3ludGhMb29rVXA6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgQWN0aW9uOiBbJ3MzOipPYmplY3QnLCAnczM6TGlzdEJ1Y2tldCcsICdzMzpHZXRCdWNrZXRMb2NhdGlvbiddLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogWydhcm46YXdzOnMzOjo6Y2RrdG9vbGtpdC0qJ10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTaWQ6ICdhc3N1bWVyb2xlJyxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBBY3Rpb246IFsnc3RzOkFzc3VtZVJvbGUnLCAnaWFtOlBhc3NSb2xlJ10sXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLXJlYWRPbmx5Um9sZScsXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLWhuYjY1OWZkcy1sb29rdXAtcm9sZS0qJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFNpZDogJ3B1bGxFY3JJbWFnZXMnLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgICAgICAgICAnZWNyOkJhdGNoR2V0SW1hZ2UnLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVJbWFnZXMnLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVSZXBvc2l0b3JpZXMnLFxuICAgICAgICAgICAgICAgICdlY3I6R2V0RG93bmxvYWRVcmxGb3JMYXllcicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYGFybjphd3M6ZWNyOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cmVwb3NpdG9yeS8qYCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgICh0aGlzLnJ1bm5lckJhc2VSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJvbGUpLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQnVpbGRSb2xlJyxcbiAgICApO1xuICAgIG5pc3RNaXJyb3JQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIG9zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBvc3NMaWNlbnNlc0J1Y2tldC5ncmFudFJlYWRXcml0ZSh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBhY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQodGhpcy5ydW5uZXJCYXNlUm9sZSk7XG4gICAgdGVhbU5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIGRkQXBpS2V5UGFyYW0uZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIGRkU2l0ZVBhcmFtLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcbiAgICBQdWJsaWNHYWxsZXJ5QXV0aG9yaXphdGlvblRva2VuLmdyYW50UmVhZCh0aGlzLnJ1bm5lckJhc2VSb2xlKTtcblxuICAgIGNvbnN0IHdlYkNvbnRlbnRQdWJsaXNoUm9sZSA9IG5ldyBSb2xlKFxuICAgICAgdGhpcyxcbiAgICAgICdHbFJ1bm5lclMzV2ViQ29udGVudERlcGxveVJvbGUnLFxuICAgICAge1xuICAgICAgICByb2xlTmFtZTogJ2dsLXJ1bm5lci13ZWItY29udGVudC1zMy1kZXBsb3ktcm9sZScsXG4gICAgICAgIGFzc3VtZWRCeTogdGhpcy5ydW5uZXJCYXNlUm9sZSxcbiAgICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgICBQdWJsaXNoV2ViQ29udGVudE9uUzM6IFBvbGljeURvY3VtZW50LmZyb21Kc29uKHtcbiAgICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgICAgJ3MzOkFib3J0KicsXG4gICAgICAgICAgICAgICAgICAnczM6RGVsZXRlT2JqZWN0KicsXG4gICAgICAgICAgICAgICAgICAnczM6R2V0QnVja2V0KicsXG4gICAgICAgICAgICAgICAgICAnczM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAgICAgICAnczM6TGlzdConLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdCcsXG4gICAgICAgICAgICAgICAgICAnczM6UHV0T2JqZWN0TGVnYWxIb2xkJyxcbiAgICAgICAgICAgICAgICAgICdzMzpQdXRPYmplY3RSZXRlbnRpb24nLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdFRhZ2dpbmcnLFxuICAgICAgICAgICAgICAgICAgJ3MzOlB1dE9iamVjdFZlcnNpb25UYWdnaW5nJyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFJlc291cmNlOiBbJ2Fybjphd3M6czM6OjoqJ10sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAgICdzc206RGVzY3JpYmVQYXJhbWV0ZXJzJyxcbiAgICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVySGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAnc3NtOkdldFBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICAgICAgJ3NzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoJyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cGFyYW1ldGVyL2NvbmZpZy8qYCxcbiAgICAgICAgICAgICAgICAgIGBhcm46YXdzOnNzbToke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnBhcmFtZXRlci9zZWNyZXQvKmAsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gICAgKHdlYkNvbnRlbnRQdWJsaXNoUm9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Sb2xlKS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lclMzV2ViQ29udGVudERlcGxveVJvbGUnLFxuICAgICk7XG5cbiAgICBjb25zdCBjcmVhdGVNU0tDZXJ0Um9sZSA9IG5ldyBSb2xlKHRoaXMsICdHbFJ1bm5lckNyZWF0ZUFuZFNpZ25DZXJ0Um9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiAnZ2wtcnVubmVyLWNyZWF0ZS1hbmQtc2lnbi1yaW8tbXNrLWNlcnQtcm9sZScsXG4gICAgICBhc3N1bWVkQnk6IHRoaXMucnVubmVyQmFzZVJvbGUsXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBQYXJhbWV0ZXJTdG9yZVJlYWRLZXlTdG9yZTogUG9saWN5RG9jdW1lbnQuZnJvbUpzb24oe1xuICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgQWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgJ3NzbTpEZXNjcmliZVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgICAgICAgICAnc3NtOkdldFBhcmFtZXRlckhpc3RvcnknLFxuICAgICAgICAgICAgICAgICdzc206R2V0UGFyYW1ldGVycycsXG4gICAgICAgICAgICAgICAgJ3NzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnNzbToke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnBhcmFtZXRlci9jb25maWcvKmAsXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c3NtOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cGFyYW1ldGVyL3NlY3JldC8qYCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICAgIFNlY3JldHNNYW5hZ2VyUmVhZEtleVN0b3JlOiBQb2xpY3lEb2N1bWVudC5mcm9tSnNvbih7XG4gICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFJlc291cmNlUG9saWN5JyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6TGlzdFNlY3JldFZlcnNpb25JZHMnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtwcm9wcy5lbnYucmVnaW9ufToke3Byb3BzLmVudi5hY2NvdW50fTpzZWNyZXQ6L3NlY3JldC8qL3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmQtPz8/Pz8/YCxcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnNlY3JldDovc2VjcmV0Lyovc2VydmljZS1rZXlzdG9yZS1wYXNzd29yZGAsXG4gICAgICAgICAgICAgICAgYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtwcm9wcy5lbnYucmVnaW9ufToke3Byb3BzLmVudi5hY2NvdW50fTpzZWNyZXQ6L2NvbmZpZy8qL3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmQtPz8/Pz8/YCxcbiAgICAgICAgICAgICAgICBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3Byb3BzLmVudi5yZWdpb259OiR7cHJvcHMuZW52LmFjY291bnR9OnNlY3JldDovY29uZmlnLyovc2VydmljZS1rZXlzdG9yZS1wYXNzd29yZGAsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW2thZmthSW50ZWdyYXRpb25Qb2xpY3ldLFxuICAgIH0pO1xuICAgIGFjY291bnROYW1lUGFyYW1ldGVyLmdyYW50UmVhZChjcmVhdGVNU0tDZXJ0Um9sZSk7XG4gICAgdGVhbU5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRoaXMucnVubmVyQmFzZVJvbGUpO1xuICAgIChjcmVhdGVNU0tDZXJ0Um9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Sb2xlKS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNyZWF0ZUFuZFNpZ25DZXJ0Um9sZScsXG4gICAgKTtcblxuICAgIGNvbnN0IGVjckRlcGxveVJvbGUgPSBuZXcgUm9sZSh0aGlzLCAnR2xSdW5uZXJFQ1JEZXBsb3lSb2xlJywge1xuICAgICAgcm9sZU5hbWU6ICdnbC1ydW5uZXItZGVwbG95LXRvLWVjci1yb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogdGhpcy5ydW5uZXJCYXNlUm9sZSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIERlcGxveVRvRUNSOiBQb2xpY3lEb2N1bWVudC5mcm9tSnNvbih7XG4gICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBBY3Rpb246IFtcbiAgICAgICAgICAgICAgICAnZWNyOkJhdGNoQ2hlY2tMYXllckF2YWlsYWJpbGl0eScsXG4gICAgICAgICAgICAgICAgJ2VjcjpCYXRjaEdldEltYWdlJyxcbiAgICAgICAgICAgICAgICAnZWNyOkNvbXBsZXRlTGF5ZXJVcGxvYWQnLFxuICAgICAgICAgICAgICAgICdlY3I6R2V0RG93bmxvYWRVcmxGb3JMYXllcicsXG4gICAgICAgICAgICAgICAgJ2VjcjpJbml0aWF0ZUxheWVyVXBsb2FkJyxcbiAgICAgICAgICAgICAgICAnZWNyOlB1dEltYWdlJyxcbiAgICAgICAgICAgICAgICAnZWNyOlVwbG9hZExheWVyUGFydCcsXG4gICAgICAgICAgICAgICAgJ2VjcjpHZXRBdXRob3JpemF0aW9uVG9rZW4nLFxuICAgICAgICAgICAgICAgICdlY3I6RGVzY3JpYmVSZXBvc2l0b3JpZXMnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIFJlc291cmNlOiBbXG4gICAgICAgICAgICAgICAgYGFybjphd3M6ZWNyOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06cmVwb3NpdG9yeS8qYCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIFB1YmxpY0dhbGxlcnlBdXRob3JpemF0aW9uVG9rZW4uZ3JhbnRSZWFkKGVjckRlcGxveVJvbGUpO1xuICAgIChlY3JEZXBsb3lSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJvbGUpLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyRUNSRGVwbG95Um9sZScsXG4gICAgKTtcblxuICAgIGNvbnN0IGlhbVBvbGljeUtNUyA9IG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICdhcm46YXdzOmttczoqOjkwMzQwNDM4NjU1MDprZXkvKicsXG4gICAgICAgIGBhcm46YXdzOmttczoqOiR7cHJvcHMuZW52LmFjY291bnR9OmtleS8qYCxcbiAgICAgIF0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdMaWtlJzoge1xuICAgICAgICAgICdrbXM6UmVzb3VyY2VBbGlhc2VzJzogJ2FsaWFzL3Jpby1sei1iYWNrdXAta2V5KicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGlhbVBvbGljeUxhbWJkYUV4ZWN1dGlvbiA9IG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydsYW1iZGE6SW52b2tlRnVuY3Rpb24nXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBgYXJuOmF3czpsYW1iZGE6ZXUtd2VzdC0xOiR7cHJvcHMuZW52LmFjY291bnR9OmZ1bmN0aW9uOlNlY3JldHNSZXN0b3JlSGFuZGxlcmAsXG4gICAgICBdLFxuICAgIH0pO1xuICAgIGNvbnN0IHNlY3JldHNCYWNrVXBSb2xlID0gbmV3IFJvbGUodGhpcywgJ0dsUnVubmVyU2VjcmV0c0JhY2t1cFJvbGUnLCB7XG4gICAgICByb2xlTmFtZTogJ2dsLXJ1bm5lci1zZWNyZXRzLWJhY2t1cC1yb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogdGhpcy5ydW5uZXJCYXNlUm9sZSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIFNlY3JldHNCYWNrdXA6IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW2lhbVBvbGljeUtNUywgaWFtUG9saWN5TGFtYmRhRXhlY3V0aW9uXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIChzZWNyZXRzQmFja1VwUm9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5Sb2xlKS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lclNlY3JldHNCYWNrdXBSb2xlJyxcbiAgICApO1xuXG4gICAgY29uc3QgZGVwbG95Um9sZSA9IG5ldyBSb2xlKHRoaXMsICdHbFJ1bm5lckNES0RlcGxveVJvbGUnLCB7XG4gICAgICByb2xlTmFtZTogJ2dsLXJ1bm5lci1jZGstZGVwbG95LXJvbGUnLFxuICAgICAgYXNzdW1lZEJ5OiB0aGlzLnJ1bm5lckJhc2VSb2xlLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBba2Fma2FJbnRlZ3JhdGlvblBvbGljeV0sIC8vIHJlcXVpcmVkIHRvIGNyZWF0ZSBLYWZrYSB0b3BpY3MgYW5kIHB1Ymxpc2ggZXZlbnQgc3BlY2lmaWNhdGlvbiBpbiBkZXBsb3kgam9ic1xuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgQ2RrRGVwbG95OiBQb2xpY3lEb2N1bWVudC5mcm9tSnNvbih7XG4gICAgICAgICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgICAgICAgIFN0YXRlbWVudDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIEFjdGlvbjogW1xuICAgICAgICAgICAgICAgICdjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrcycsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkNyZWF0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgICAgICAnY2xvdWRmb3JtYXRpb246RXhlY3V0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHMnLFxuICAgICAgICAgICAgICAgICdjbG91ZGZvcm1hdGlvbjpEZWxldGVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgICAgICdjbG91ZGZvcm1hdGlvbjpHZXRUZW1wbGF0ZScsXG4gICAgICAgICAgICAgICAgJ2Nsb3VkZm9ybWF0aW9uOlZhbGlkYXRlVGVtcGxhdGUnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOmNsb3VkZm9ybWF0aW9uOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06c3RhY2svKmAsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBFZmZlY3Q6ICdBbGxvdycsXG4gICAgICAgICAgICAgIEFjdGlvbjogWydzMzoqT2JqZWN0JywgJ3MzOkxpc3RCdWNrZXQnLCAnczM6R2V0QnVja2V0TG9jYXRpb24nXSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IFsnYXJuOmF3czpzMzo6OmNka3Rvb2xraXQtKiddLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgU2lkOiAnYXNzdW1lcm9sZScsXG4gICAgICAgICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgICAgICAgQWN0aW9uOiBbJ3N0czpBc3N1bWVSb2xlJywgJ2lhbTpQYXNzUm9sZSddLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6Kjpyb2xlL2Nkay1yZWFkT25seVJvbGUnLFxuICAgICAgICAgICAgICAgICdhcm46YXdzOmlhbTo6Kjpyb2xlL2Nkay1obmI2NTlmZHMtZGVwbG95LXJvbGUtKicsXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLWhuYjY1OWZkcy1maWxlLXB1Ymxpc2hpbmctKicsXG4gICAgICAgICAgICAgICAgJ2Fybjphd3M6aWFtOjoqOnJvbGUvY2RrLWhuYjY1OWZkcy1sb29rdXAtcm9sZS0qJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICAgIENmbkRlcGxveTogUG9saWN5RG9jdW1lbnQuZnJvbUpzb24oe1xuICAgICAgICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgRWZmZWN0OiAnQWxsb3cnLFxuICAgICAgICAgICAgICBBY3Rpb246IFsnKiddLFxuICAgICAgICAgICAgICBSZXNvdXJjZTogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOmNsb3VkZm9ybWF0aW9uOiR7cHJvcHMuZW52LnJlZ2lvbn06JHtwcm9wcy5lbnYuYWNjb3VudH06c3RhY2svKmAsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIENvbmRpdGlvbjoge1xuICAgICAgICAgICAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdFcXVhbHMnOiB7XG4gICAgICAgICAgICAgICAgICAnYXdzOkNhbGxlZFZpYSc6ICdjbG91ZGZvcm1hdGlvbi5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgKGRlcGxveVJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUm9sZSkub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtEZXBsb3lSb2xlJyxcbiAgICApO1xuXG4gICAgY29uc3QgZ2xSdW5uZXJDZGtEZXBsb3lSb2xlQXJuID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLRGVwbG95Um9sZUFybicsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBkZXBsb3lSb2xlLnJvbGVBcm4sXG4gICAgICAgIGV4cG9ydE5hbWU6ICdnbC1ydW5uZXItY2RrLWRlcGxveS1yb2xlLWFybicsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtEZXBsb3lSb2xlQXJuLm92ZXJyaWRlTG9naWNhbElkKCdHbFJ1bm5lckNES0RlcGxveVJvbGVBcm4nKTtcbiAgICBjb25zdCBnbFJ1bm5lckNka0RlcGxveVJvbGVOYW1lID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLRGVwbG95Um9sZU5hbWUnLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogZGVwbG95Um9sZS5yb2xlTmFtZSxcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstZGVwbG95LXJvbGUtbmFtZScsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtEZXBsb3lSb2xlTmFtZS5vdmVycmlkZUxvZ2ljYWxJZCgnR2xSdW5uZXJDREtEZXBsb3lSb2xlTmFtZScpO1xuXG4gICAgY29uc3QgZ2xSdW5uZXJDZGtDcmVhdGVBbmRTaWduQ2VydFJvbGVOYW1lID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLQ3JlYXRlQW5kU2lnbkNlcnRSb2xlTmFtZScsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBjcmVhdGVNU0tDZXJ0Um9sZS5yb2xlTmFtZSxcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstY3JlYXRlLWFuZC1zaWduLW1zay1jZXJ0LXJvbGUtbmFtZScsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtDcmVhdGVBbmRTaWduQ2VydFJvbGVOYW1lLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQ0RLQ3JlYXRlQW5kU2lnbkNlcnRSb2xlTmFtZScsXG4gICAgKTtcbiAgICBjb25zdCBnbFJ1bm5lckNka0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZUFybiA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES0NyZWF0ZUFuZFNpZ25DZXJ0Um9sZUFybicsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBjcmVhdGVNU0tDZXJ0Um9sZS5yb2xlQXJuLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1jcmVhdGUtYW5kLXNpZ24tbXNrLWNlcnQtcm9sZS1hcm4nLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrQ3JlYXRlQW5kU2lnbkNlcnRSb2xlQXJuLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQ0RLQ3JlYXRlQW5kU2lnbkNlcnRSb2xlQXJuJyxcbiAgICApO1xuXG4gICAgY29uc3QgZ2xSdW5uZXJDZGtQdWJsaXNoV2ViQ29udGVudFJvbGVOYW1lID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLUHVibGlzaFdlYkNvbnRlbnRSb2xlTmFtZScsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB3ZWJDb250ZW50UHVibGlzaFJvbGUucm9sZU5hbWUsXG4gICAgICAgIGV4cG9ydE5hbWU6ICdnbC1ydW5uZXItY2RrLXB1Ymxpc2gtd2ViLWNvbnRlbnQtb24tczMtcm9sZS1uYW1lJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka1B1Ymxpc2hXZWJDb250ZW50Um9sZU5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXG4gICAgICAnR2xSdW5uZXJDREtQdWJsaXNoV2ViQ29udGVudFJvbGVOYW1lJyxcbiAgICApO1xuICAgIGNvbnN0IGdsUnVubmVyQ2RrUHVibGlzaFdlYkNvbnRlbnRSb2xlQXJuID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLUHVibGlzaFdlYkNvbnRlbnRSb2xlQXJuJyxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHdlYkNvbnRlbnRQdWJsaXNoUm9sZS5yb2xlQXJuLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1wdWJsaXNoLXdlYi1jb250ZW50LW9uLXMzLXJvbGUtYXJuJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka1B1Ymxpc2hXZWJDb250ZW50Um9sZUFybi5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES1B1Ymxpc2hXZWJDb250ZW50Um9sZUFybicsXG4gICAgKTtcblxuICAgIGNvbnN0IGdsUnVubmVyQ2RrRGVwbG95VG9FY3JSb2xlTmFtZSA9IG5ldyBDZm5PdXRwdXQoXG4gICAgICBzY29wZSxcbiAgICAgICdHbFJ1bm5lckNES0RlcGxveVRvRWNyUm9sZU5hbWUnLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogZWNyRGVwbG95Um9sZS5yb2xlTmFtZSxcbiAgICAgICAgZXhwb3J0TmFtZTogJ2dsLXJ1bm5lci1jZGstZGVwbG95LXRvLWVjci1yb2xlLW5hbWUnLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrRGVwbG95VG9FY3JSb2xlTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES0RlcGxveVRvRWNyUm9sZU5hbWUnLFxuICAgICk7XG4gICAgY29uc3QgZ2xSdW5uZXJDZGtEZXBsb3lUb0VjclJvbGVBcm4gPSBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgc2NvcGUsXG4gICAgICAnR2xSdW5uZXJDREtEZXBsb3lUb0VjclJvbGVBcm4nLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogZWNyRGVwbG95Um9sZS5yb2xlQXJuLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1kZXBsb3ktdG8tZWNyLXJvbGUtYXJuJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBnbFJ1bm5lckNka0RlcGxveVRvRWNyUm9sZUFybi5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES0RlcGxveVRvRWNyUm9sZUFybicsXG4gICAgKTtcblxuICAgIGNvbnN0IGdsUnVubmVyQ2RrU2VjcmV0c0JhY2t1cFJvbGVOYW1lID0gbmV3IENmbk91dHB1dChcbiAgICAgIHNjb3BlLFxuICAgICAgJ0dsUnVubmVyQ0RLU2VjcmV0c0JhY2t1cFJvbGVOYW1lJyxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHNlY3JldHNCYWNrVXBSb2xlLnJvbGVOYW1lLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1zZWNyZXRzLWJhY2t1cC1yb2xlLW5hbWUnLFxuICAgICAgfSxcbiAgICApO1xuICAgIGdsUnVubmVyQ2RrU2VjcmV0c0JhY2t1cFJvbGVOYW1lLm92ZXJyaWRlTG9naWNhbElkKFxuICAgICAgJ0dsUnVubmVyQ0RLU2VjcmV0c0JhY2t1cFJvbGVOYW1lJyxcbiAgICApO1xuICAgIGNvbnN0IGdsUnVubmVyQ2RrU2VjcmV0c0JhY2t1cFJvbGVBcm4gPSBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgc2NvcGUsXG4gICAgICAnR2xSdW5uZXJDREtTZWNyZXRzQmFja3VwUm9sZUFybicsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBzZWNyZXRzQmFja1VwUm9sZS5yb2xlQXJuLFxuICAgICAgICBleHBvcnROYW1lOiAnZ2wtcnVubmVyLWNkay1zZWNyZXRzLWJhY2t1cC1yb2xlLWFybicsXG4gICAgICB9LFxuICAgICk7XG4gICAgZ2xSdW5uZXJDZGtTZWNyZXRzQmFja3VwUm9sZUFybi5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgICdHbFJ1bm5lckNES1NlY3JldHNCYWNrdXBSb2xlQXJuJyxcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
package/version.json
CHANGED