@rio-cloud/cdk-v2-constructs 4.5.0 → 4.6.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 +21 -21
- package/CHANGELOG.md +9 -0
- package/lib/contributions/team-transport-two/pipeline/build-project.js +6 -2
- package/lib/contributions/team-transport-two/pipeline/pipeline-stack.d.ts +1 -0
- package/lib/contributions/team-transport-two/pipeline/pipeline-stack.js +12 -4
- package/package.json +1 -1
- package/version.json +1 -1
package/.jsii
CHANGED
|
@@ -3068,7 +3068,7 @@
|
|
|
3068
3068
|
"kind": "interface",
|
|
3069
3069
|
"locationInModule": {
|
|
3070
3070
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3071
|
-
"line":
|
|
3071
|
+
"line": 99
|
|
3072
3072
|
},
|
|
3073
3073
|
"name": "AppStackProps",
|
|
3074
3074
|
"properties": [
|
|
@@ -3080,7 +3080,7 @@
|
|
|
3080
3080
|
"immutable": true,
|
|
3081
3081
|
"locationInModule": {
|
|
3082
3082
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3083
|
-
"line":
|
|
3083
|
+
"line": 100
|
|
3084
3084
|
},
|
|
3085
3085
|
"name": "serviceName",
|
|
3086
3086
|
"type": {
|
|
@@ -3095,7 +3095,7 @@
|
|
|
3095
3095
|
"immutable": true,
|
|
3096
3096
|
"locationInModule": {
|
|
3097
3097
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3098
|
-
"line":
|
|
3098
|
+
"line": 101
|
|
3099
3099
|
},
|
|
3100
3100
|
"name": "version",
|
|
3101
3101
|
"type": {
|
|
@@ -3436,7 +3436,7 @@
|
|
|
3436
3436
|
"kind": "interface",
|
|
3437
3437
|
"locationInModule": {
|
|
3438
3438
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3439
|
-
"line":
|
|
3439
|
+
"line": 161
|
|
3440
3440
|
},
|
|
3441
3441
|
"name": "CodeBuildOptions",
|
|
3442
3442
|
"properties": [
|
|
@@ -3448,7 +3448,7 @@
|
|
|
3448
3448
|
"immutable": true,
|
|
3449
3449
|
"locationInModule": {
|
|
3450
3450
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3451
|
-
"line":
|
|
3451
|
+
"line": 163
|
|
3452
3452
|
},
|
|
3453
3453
|
"name": "buildEnvironment",
|
|
3454
3454
|
"optional": true,
|
|
@@ -3464,7 +3464,7 @@
|
|
|
3464
3464
|
"immutable": true,
|
|
3465
3465
|
"locationInModule": {
|
|
3466
3466
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
3467
|
-
"line":
|
|
3467
|
+
"line": 162
|
|
3468
3468
|
},
|
|
3469
3469
|
"name": "partialBuildSpecPath",
|
|
3470
3470
|
"optional": true,
|
|
@@ -4541,7 +4541,7 @@
|
|
|
4541
4541
|
"kind": "interface",
|
|
4542
4542
|
"locationInModule": {
|
|
4543
4543
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
4544
|
-
"line":
|
|
4544
|
+
"line": 89
|
|
4545
4545
|
},
|
|
4546
4546
|
"methods": [
|
|
4547
4547
|
{
|
|
@@ -4552,7 +4552,7 @@
|
|
|
4552
4552
|
},
|
|
4553
4553
|
"locationInModule": {
|
|
4554
4554
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
4555
|
-
"line":
|
|
4555
|
+
"line": 96
|
|
4556
4556
|
},
|
|
4557
4557
|
"name": "create",
|
|
4558
4558
|
"parameters": [
|
|
@@ -5732,7 +5732,7 @@
|
|
|
5732
5732
|
"kind": "class",
|
|
5733
5733
|
"locationInModule": {
|
|
5734
5734
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5735
|
-
"line":
|
|
5735
|
+
"line": 166
|
|
5736
5736
|
},
|
|
5737
5737
|
"name": "PipelineStack",
|
|
5738
5738
|
"properties": [
|
|
@@ -5743,7 +5743,7 @@
|
|
|
5743
5743
|
"immutable": true,
|
|
5744
5744
|
"locationInModule": {
|
|
5745
5745
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5746
|
-
"line":
|
|
5746
|
+
"line": 235
|
|
5747
5747
|
},
|
|
5748
5748
|
"name": "branchCodeBuildProject",
|
|
5749
5749
|
"type": {
|
|
@@ -5757,7 +5757,7 @@
|
|
|
5757
5757
|
"immutable": true,
|
|
5758
5758
|
"locationInModule": {
|
|
5759
5759
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5760
|
-
"line":
|
|
5760
|
+
"line": 231
|
|
5761
5761
|
},
|
|
5762
5762
|
"name": "mainCodebuildProject",
|
|
5763
5763
|
"type": {
|
|
@@ -5780,7 +5780,7 @@
|
|
|
5780
5780
|
"kind": "interface",
|
|
5781
5781
|
"locationInModule": {
|
|
5782
5782
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5783
|
-
"line":
|
|
5783
|
+
"line": 29
|
|
5784
5784
|
},
|
|
5785
5785
|
"name": "PipelineStackProps",
|
|
5786
5786
|
"properties": [
|
|
@@ -5794,7 +5794,7 @@
|
|
|
5794
5794
|
"immutable": true,
|
|
5795
5795
|
"locationInModule": {
|
|
5796
5796
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5797
|
-
"line":
|
|
5797
|
+
"line": 46
|
|
5798
5798
|
},
|
|
5799
5799
|
"name": "appStackFactory",
|
|
5800
5800
|
"type": {
|
|
@@ -5810,7 +5810,7 @@
|
|
|
5810
5810
|
"immutable": true,
|
|
5811
5811
|
"locationInModule": {
|
|
5812
5812
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5813
|
-
"line":
|
|
5813
|
+
"line": 51
|
|
5814
5814
|
},
|
|
5815
5815
|
"name": "pipelineType",
|
|
5816
5816
|
"type": {
|
|
@@ -5827,7 +5827,7 @@
|
|
|
5827
5827
|
"immutable": true,
|
|
5828
5828
|
"locationInModule": {
|
|
5829
5829
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5830
|
-
"line":
|
|
5830
|
+
"line": 39
|
|
5831
5831
|
},
|
|
5832
5832
|
"name": "serviceName",
|
|
5833
5833
|
"type": {
|
|
@@ -5843,7 +5843,7 @@
|
|
|
5843
5843
|
"immutable": true,
|
|
5844
5844
|
"locationInModule": {
|
|
5845
5845
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5846
|
-
"line":
|
|
5846
|
+
"line": 65
|
|
5847
5847
|
},
|
|
5848
5848
|
"name": "codeBuildOptions",
|
|
5849
5849
|
"optional": true,
|
|
@@ -5861,7 +5861,7 @@
|
|
|
5861
5861
|
"immutable": true,
|
|
5862
5862
|
"locationInModule": {
|
|
5863
5863
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5864
|
-
"line":
|
|
5864
|
+
"line": 60
|
|
5865
5865
|
},
|
|
5866
5866
|
"name": "secretsDeployStepProps",
|
|
5867
5867
|
"optional": true,
|
|
@@ -5884,7 +5884,7 @@
|
|
|
5884
5884
|
"kind": "interface",
|
|
5885
5885
|
"locationInModule": {
|
|
5886
5886
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5887
|
-
"line":
|
|
5887
|
+
"line": 110
|
|
5888
5888
|
},
|
|
5889
5889
|
"name": "PipelineStackRioSecretsDeployStepProps",
|
|
5890
5890
|
"properties": [
|
|
@@ -5896,7 +5896,7 @@
|
|
|
5896
5896
|
"immutable": true,
|
|
5897
5897
|
"locationInModule": {
|
|
5898
5898
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5899
|
-
"line":
|
|
5899
|
+
"line": 111
|
|
5900
5900
|
},
|
|
5901
5901
|
"name": "secretsFilePath",
|
|
5902
5902
|
"type": {
|
|
@@ -5915,7 +5915,7 @@
|
|
|
5915
5915
|
"kind": "enum",
|
|
5916
5916
|
"locationInModule": {
|
|
5917
5917
|
"filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
|
|
5918
|
-
"line":
|
|
5918
|
+
"line": 114
|
|
5919
5919
|
},
|
|
5920
5920
|
"members": [
|
|
5921
5921
|
{
|
|
@@ -8890,5 +8890,5 @@
|
|
|
8890
8890
|
}
|
|
8891
8891
|
},
|
|
8892
8892
|
"version": "0.0.0",
|
|
8893
|
-
"fingerprint": "
|
|
8893
|
+
"fingerprint": "7MCwTaoImnW68x81eMi6cazhvUsZVcY/9xEZb1O8aro="
|
|
8894
8894
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [4.6.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.5.1&sourceBranch=refs%2Ftags%2Fv4.6.0) (2023-03-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **pipeline:** set default for codebuild image ([c13e3cf](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/c13e3cf877d09546a46653ea751cb9e243dd0281))
|
|
11
|
+
|
|
12
|
+
### [4.5.1](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.5.0&sourceBranch=refs%2Ftags%2Fv4.5.1) (2023-02-13)
|
|
13
|
+
|
|
5
14
|
## [4.5.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.4.3&sourceBranch=refs%2Ftags%2Fv4.5.0) (2023-02-01)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RioCodeBuildProject = void 0;
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
5
|
const codebuild = require("aws-cdk-lib/aws-codebuild");
|
|
6
|
+
const codepipeline = require("aws-cdk-lib/aws-codepipeline");
|
|
6
7
|
const pipelines = require("aws-cdk-lib/pipelines");
|
|
7
8
|
class RioCodeBuildProject extends pipelines.CodeBuildStep {
|
|
8
9
|
constructor(scope, id, props) {
|
|
@@ -24,9 +25,12 @@ class RioCodeBuildProject extends pipelines.CodeBuildStep {
|
|
|
24
25
|
certificate: (_e = props === null || props === void 0 ? void 0 : props.buildEnvironment) === null || _e === void 0 ? void 0 : _e.certificate,
|
|
25
26
|
},
|
|
26
27
|
primaryOutputDirectory: (_f = props.cdkOutDirectory) !== null && _f !== void 0 ? _f : './',
|
|
27
|
-
env:
|
|
28
|
+
env: {
|
|
29
|
+
PIPELINE_EXECUTION_ID: codepipeline.GlobalVariables.executionId,
|
|
30
|
+
...props.env,
|
|
31
|
+
},
|
|
28
32
|
});
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
exports.RioCodeBuildProject = RioCodeBuildProject;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9idWlsZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyx1REFBdUQ7QUFDdkQsNkRBQTZEO0FBQzdELG1EQUFtRDtBQWFuRCxNQUFhLG1CQUFvQixTQUFRLFNBQVMsQ0FBQyxhQUFhO0lBQzlELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7O1FBQ3ZFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxRQUFRLEVBQUUsRUFBRTtZQUNaLGdCQUFnQixFQUFFO2dCQUNoQixVQUFVLEVBQUUsT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFVBQVUsS0FBSSxTQUFTLENBQUMsZUFBZSxDQUFDLGdCQUFnQjtnQkFDN0YsV0FBVyxFQUFFLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGdCQUFnQiwwQ0FBRSxXQUFXLEtBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUNoRixvQkFBb0IsRUFBRTtvQkFDcEIsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTtvQkFDbEQsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUU7b0JBQzFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFO29CQUM1QyxTQUFHLEtBQUssQ0FBQyxnQkFBZ0IsMENBQUUsb0JBQW9CO2lCQUNoRDtnQkFDRCxVQUFVLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGdCQUFnQiwwQ0FBRSxVQUFVO2dCQUMvQyxXQUFXLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGdCQUFnQiwwQ0FBRSxXQUFXO2FBQ2xEO1lBQ0Qsc0JBQXNCLFFBQUUsS0FBSyxDQUFDLGVBQWUsbUNBQUksSUFBSTtZQUNyRCxHQUFHLEVBQUU7Z0JBQ0gscUJBQXFCLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxXQUFXO2dCQUMvRCxHQUFHLEtBQUssQ0FBQyxHQUFHO2FBQ2I7U0FDRixDQUNBLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUExQkQsa0RBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb2RlYnVpbGQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQgKiBhcyBjb2RlcGlwZWxpbmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZSc7XG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpb0NvZGVCdWlsZFByb2plY3RQcm9wcyB7XG4gIGlucHV0OiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlcjtcbiAgY2RrT3V0RGlyZWN0b3J5Pzogc3RyaW5nO1xuICBwYXJ0aWFsQnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjO1xuICBidWlsZEVudmlyb25tZW50PzogY29kZWJ1aWxkLkJ1aWxkRW52aXJvbm1lbnQ7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIGhvc3RlZFpvbmVOYW1lOiBzdHJpbmc7XG4gIGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmV4cG9ydCBjbGFzcyBSaW9Db2RlQnVpbGRQcm9qZWN0IGV4dGVuZHMgcGlwZWxpbmVzLkNvZGVCdWlsZFN0ZXAge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvQ29kZUJ1aWxkUHJvamVjdFByb3BzKSB7XG4gICAgc3VwZXIoaWQsIHtcbiAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgIHBhcnRpYWxCdWlsZFNwZWM6IHByb3BzLnBhcnRpYWxCdWlsZFNwZWMsXG4gICAgICBjb21tYW5kczogW10sXG4gICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5idWlsZEltYWdlIHx8IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNCxcbiAgICAgICAgY29tcHV0ZVR5cGU6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5jb21wdXRlVHlwZSB8fCBjb2RlYnVpbGQuQ29tcHV0ZVR5cGUuTEFSR0UsXG4gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzOiB7XG4gICAgICAgICAgQVdTX0FDQ09VTlRfSUQ6IHsgdmFsdWU6IFN0YWNrLm9mKHNjb3BlKS5hY2NvdW50IH0sXG4gICAgICAgICAgU0VSVklDRV9OQU1FOiB7IHZhbHVlOiBwcm9wcy5zZXJ2aWNlTmFtZSB9LFxuICAgICAgICAgIEhPU1RFRF9aT05FOiB7IHZhbHVlOiBwcm9wcy5ob3N0ZWRab25lTmFtZSB9LFxuICAgICAgICAgIC4uLnByb3BzLmJ1aWxkRW52aXJvbm1lbnQ/LmVudmlyb25tZW50VmFyaWFibGVzLFxuICAgICAgICB9LFxuICAgICAgICBwcml2aWxlZ2VkOiBwcm9wcz8uYnVpbGRFbnZpcm9ubWVudD8ucHJpdmlsZWdlZCxcbiAgICAgICAgY2VydGlmaWNhdGU6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5jZXJ0aWZpY2F0ZSxcbiAgICAgIH0sXG4gICAgICBwcmltYXJ5T3V0cHV0RGlyZWN0b3J5OiBwcm9wcy5jZGtPdXREaXJlY3RvcnkgPz8gJy4vJyxcbiAgICAgIGVudjoge1xuICAgICAgICBQSVBFTElORV9FWEVDVVRJT05fSUQ6IGNvZGVwaXBlbGluZS5HbG9iYWxWYXJpYWJsZXMuZXhlY3V0aW9uSWQsXG4gICAgICAgIC4uLnByb3BzLmVudixcbiAgICAgIH0sXG4gICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -145,6 +145,7 @@ export declare class PipelineStack extends Stack {
|
|
|
145
145
|
private readonly _serviceKeystorePassword;
|
|
146
146
|
private readonly _accountNameParameter;
|
|
147
147
|
private readonly _nistDataMirrorUrl;
|
|
148
|
+
private readonly _codeBuildDefaults;
|
|
148
149
|
constructor(scope: Construct, id: string, props: PipelineStackProps);
|
|
149
150
|
get mainCodebuildProject(): cdk.pipelines.CodeBuildStep;
|
|
150
151
|
get branchCodeBuildProject(): CodeBuildStep;
|
|
@@ -8,7 +8,6 @@ const path = require("path");
|
|
|
8
8
|
const cdk = require("aws-cdk-lib");
|
|
9
9
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
10
10
|
const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
|
|
11
|
-
const codepipeline = require("aws-cdk-lib/aws-codepipeline");
|
|
12
11
|
const codepipeline_actions = require("aws-cdk-lib/aws-codepipeline-actions");
|
|
13
12
|
const events = require("aws-cdk-lib/aws-events");
|
|
14
13
|
const targets = require("aws-cdk-lib/aws-events-targets");
|
|
@@ -82,6 +81,11 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
82
81
|
parameterName: '/config/nist-data-mirror/url',
|
|
83
82
|
version: 1,
|
|
84
83
|
});
|
|
84
|
+
this._codeBuildDefaults = {
|
|
85
|
+
buildEnvironment: {
|
|
86
|
+
buildImage: aws_codebuild_1.LinuxBuildImage.STANDARD_6_0,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
85
89
|
this._mainCodeBuildProject = this.createRioCodeBuildProject('MainBuild', this._inputMasterTriggerFile, props);
|
|
86
90
|
this.addMainPipeline(props, this._mainCodeBuildProject);
|
|
87
91
|
if (props.pipelineType !== PipelineType.STANDARD_INFRASTRUCTURE) {
|
|
@@ -94,7 +98,7 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
94
98
|
product: index_1.ClaidometerProduct.CDK_CONTRIBUTION,
|
|
95
99
|
packageName,
|
|
96
100
|
feature,
|
|
97
|
-
version: '0.0.
|
|
101
|
+
version: '0.0.7',
|
|
98
102
|
});
|
|
99
103
|
}
|
|
100
104
|
static addLifecycleRuleArtifactBucket(pipeline) {
|
|
@@ -126,7 +130,9 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
132
|
addMainPipeline(props, mainBuild) {
|
|
133
|
+
var _b;
|
|
129
134
|
const pipeline = new pipelines.CodePipeline(this, 'Pipeline', {
|
|
135
|
+
codeBuildDefaults: this._codeBuildDefaults,
|
|
130
136
|
synth: mainBuild,
|
|
131
137
|
});
|
|
132
138
|
// CloudAssemblyArtifacts must be smaller than 256MB. Due to the gradle artifact we are exceeding this limit and pipeline fails in deployment step.
|
|
@@ -146,7 +152,7 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
146
152
|
pipeline.addStage(new application_stage_1.Application(this, 'DeployApplicationStacks', {
|
|
147
153
|
appStackFactory: props.appStackFactory,
|
|
148
154
|
serviceName: props.serviceName,
|
|
149
|
-
version:
|
|
155
|
+
version: (_b = process.env.PIPELINE_EXECUTION_ID) !== null && _b !== void 0 ? _b : 'PIPELINE_EXECUTION_ID not set',
|
|
150
156
|
}), {
|
|
151
157
|
pre: props.secretsDeployStepProps ? [
|
|
152
158
|
new rio.RioSecretsDeployStep(this, 'DeploySecrets', {
|
|
@@ -177,6 +183,7 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
177
183
|
}
|
|
178
184
|
addBranchPipeline(props, branchBuild) {
|
|
179
185
|
const branchPipeline = new pipelines.CodePipeline(this, 'BranchPipeline', {
|
|
186
|
+
codeBuildDefaults: this._codeBuildDefaults,
|
|
180
187
|
synth: branchBuild,
|
|
181
188
|
selfMutation: false,
|
|
182
189
|
});
|
|
@@ -201,6 +208,7 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
201
208
|
serviceName: props.serviceName,
|
|
202
209
|
});
|
|
203
210
|
const vulnerabilityPipeline = new pipelines.CodePipeline(this, 'VulnerabilityPipeline', {
|
|
211
|
+
codeBuildDefaults: this._codeBuildDefaults,
|
|
204
212
|
synth: vulnerabilityBuild,
|
|
205
213
|
selfMutation: false,
|
|
206
214
|
});
|
|
@@ -252,4 +260,4 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
|
|
|
252
260
|
exports.PipelineStack = PipelineStack;
|
|
253
261
|
_a = JSII_RTTI_SYMBOL_1;
|
|
254
262
|
PipelineStack[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.PipelineStack", version: "0.0.0" };
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBeUU7QUFDekUsNkRBQXdFO0FBQ3hFLDZEQUE2RDtBQUM3RCw2RUFBNkU7QUFDN0UsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCxpREFBb0Q7QUFFcEQseUNBQXlDO0FBRXpDLDJDQUEyQztBQUUzQyxtREFBbUQ7QUFDbkQscURBQTBFO0FBRTFFLGdDQUFnQztBQUNoQyxzQ0FBc0M7QUFDdEMsMENBQWlFO0FBQ2pFLGlFQUE4RDtBQUM5RCwyREFBa0Q7QUFDbEQsbURBQXNEO0FBQ3RELHlEQUFnSDtBQTBGaEgsSUFBWSxZQXNDWDtBQXRDRCxXQUFZLFlBQVk7SUFFdEI7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsbURBQW1DLENBQUE7SUFDbkM7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILCtEQUErQyxDQUFBO0lBQy9DOzs7OztPQUtHO0lBQ0gsbUVBQW1ELENBQUE7QUFDckQsQ0FBQyxFQXRDVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQXNDdkI7QUFjRCxNQUFhLGFBQWMsU0FBUSxtQkFBSztJQW9CdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFFLENBQUMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztRQUNsSCxJQUFJ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LFlBQVk7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUFqT0gsc0NBa09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIFJlZmVyZW5jZSwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50LCBCdWlsZFNwZWMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZV9hY3Rpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IElTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29kZUJ1aWxkU3RlcCwgQ29kZVBpcGVsaW5lU291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCAqIGFzIHJpbyBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgVXBwZXJUb0xvd2VyIH0gZnJvbSAnLi4vLi4vLi4vd2F0Y2hmdWwvdXBwZXJUb0xvd2VyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1zdGFnZSc7XG5pbXBvcnQgeyBSaW9Db2RlQnVpbGRQcm9qZWN0IH0gZnJvbSAnLi9idWlsZC1wcm9qZWN0JztcbmltcG9ydCB7IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQsIERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzIH0gZnJvbSAnLi9kYXRhZG9nLW1vbml0b3JzJztcblxuLyoqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZVxuICAgKiAtIFRoaXMgaGFzIHRvIGJlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHJlcG9zaXRvcnkgYXMgdGhlIHMzIHRyaWdnZXIgZmlsZSBjcmVhdGVkIGJ5IHRoZSBiaXRidWNrZXQtaW50ZWdyYXRpb24gdXNlcyB0aGlzIGFzIGEgcHJlZml4XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBTRVJWSUNFX05BTUUgaW4gdGhlIENvZGVCdWlsZFN0ZXBcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBBcHBTdGFja1Byb3BzIGluIHRoZSBhcHBTdGFja0ZhY3RvcnlcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGFzIHN0YWNrTmFtZSBwcm9wZXJ0eSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5LiBJLmUuIHRoZSBzdGFjayBpcyBuYW1lZCBhZnRlciB0aGUgc2VydmljZVxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBoYW5kZWQgb3ZlciB0byBhbGwgRGF0YWRvZyBtb25pdG9yc1xuICAgKiAtIFJJTyBjb252ZW50aW9uIGlzIHRoYXQgdXBsb2FkZWQgbGljZW5zZS1jaGVjay1maWxlcyBhcmUgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2UsIGkuZS4gc2VydmljZU5hbWUudHh0XG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlciBmb3IgYXBwU3RhY2sgdG8gYmUgZGVwbG95ZWQuXG4gICAqXG4gICAqIFRoaXMgYWN0cyBhcyBhIHdyYXBwZXIgZm9yIGFsbCByZXNvdXJjZXMgeW91IHdhbnQgdG8gZGVwbG95IHZpYSB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICByZWFkb25seSBhcHBTdGFja0ZhY3Rvcnk6IElBcHBTdGFja0ZhY3Rvcnk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgd2hpY2gga2luZCBvZiBwaXBlbGluZSBpcyBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHNlY3JldHMgZmlsZSBjb250YWluaW5nIGVuY3J5cHRlZCBzZWNyZXRzLlxuICAgKlxuICAgKiBUaGUgUmlvU2VjcmV0c0RlcGxveVN0ZXAgaXMgYWRkZWQgcHJpb3IgdG8gZGVwbG95bWVudCBvZiB0aGUgQXBwU3RhY2sgaWYgYSBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKlxuICAgKiBObyBzZWNyZXRzIGFyZSBkZXBsb3llZCBpZiBubyBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0c0RlcGxveVN0ZXBQcm9wcz86IFBpcGVsaW5lU3RhY2tSaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgb3B0aW9ucyBvdmVycmlkaW5nIHRoZSByaW8tc3BlY2lmaWMgZGVmYXVsdHMuXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRPcHRpb25zPzogQ29kZUJ1aWxkT3B0aW9ucztcbn1cblxuLyoqXG4gKiBQcm92aWRlciBpbnRlcmZhY2UgdG8gY3JlYXRlIHRoZSBBcHBTdGFjayB3aXRoaW4gdGhlIHNwZWNpZmljIHNjb3BlXG4gKlxuICogU2ltcGx5IHBsYWNlIHRoZSBBcHBTdGFjayBjcmVhdGlvbiBpbnRvIHRoZSBjcmVhdGUtbWV0aG9kOlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBVc2UgZS5nLiB3aXRoaW4gQXBwbGljYXRpb25Qcm9wcyBhcyBKU09OT2JqZWN0OlxuICogeyBjcmVhdGU6IChjb25zdHJ1Y3QsIHByb3BzKSA9PiBuZXcgU3RhY2soY29uc3RydWN0LCAnQXBwU3RhY2snLCBwcm9wcykgfVxuICpcbiAqIC8vIG9yIHNpbXBseSBhcyBjbGFzcyBpbnRlcmZhY2Ugd2l0aGluIHlvdXIgc3RhY2sgaW1wbGVtZW50YXRpb246XG4gKiBjbGFzcyBQaXBlbGluZVN0YWdlIGV4dGVuZHMgU3RhZ2UgaW1wbGVtZW50cyBJQXBwU3RhY2tGYWN0b3J5IHtcbiAqICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWdlUHJvcHMpIHtcbiAqICAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAqICAgICAvLyB5b3VyIHN0YWdlIGRlZmluaXRpb25cbiAqICAgfVxuICpcbiAqICAgY3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBBcHBTdGFja1Byb3BzKTogdm9pZCB7XG4gKiAgICAgLy8gYXBwIHN0YWNrIGluaXRpYXRpb24gZ29lcyBpbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXBwU3RhY2tGYWN0b3J5IHtcbiAgLyoqXG4gICAqIEZhY3RvcnkgbWV0aG9kLCBiZWluZyBpbnZva2VkIHdpdGggdGhlIHNwZWNpZmljIHNjb3BlIGR1cmluZyBwaXBlbGluZSBpbnN0YW50aWF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgcGFyZW50IGNvbnN0cnVjdCBmb3IgdGhlIGFwcCBzdGFja1xuICAgKiBAcGFyYW0gcHJvcHMgdGhlIGFwcCBzdGFja3MgcHJvcGVydGllc1xuICAgKi9cbiAgY3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBBcHBTdGFja1Byb3BzKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZWxlY3RlZCBwcm9wZXJ0aWVzIGJlaW5nIGhhbmRlZCBvdmVyIHRvIFJpb1NlY3JldHNEZXBsb3lTdGVwLlxuICpcbiAqIEBzZWUgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwXG4gKiBAc2VlIHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Jpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHMge1xuICByZWFkb25seSBzZWNyZXRzRmlsZVBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUGlwZWxpbmVUeXBlIHtcblxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay4gQmUgYXdhcmU6IFRoZSBwcm92aWRlZCBzZXJ2aWNlIHdvbid0IGhhdmUgYWNjZXNzIHRvIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRSA9ICdTVEFOREFSRF9HUkFETEUnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjayB3aXRoIGFkZGl0aW9uYWwgc3RlcHMgbmVlZGVkIHRvIGFjY2VzcyBLYWZrYS5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZvciBhIGdyYWRsZSBwcm9qZWN0LiBUaGlzIGJ1aWxkc3BlYy55YW1sIGlzIHVzZWQgZm9yIGJvdGggdGhlIG1haW4gYW5kXG4gICAqIGJyYW5jaCBwaXBlbGluZSBhbmQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzdGVwc1xuICAgKiAtIGJ1aWxkIGFuZCB0ZXN0IG9mIHRoZSBhcnRpZmFjdCB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjbGVhbiBidWlsZFwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBsaWNlbnNlLWNoZWNrIGFuZCB1cGxvYWQgb2YgbGljZW5zZS1jaGVjay1maWxlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNoZWNrTGljZW5zZXNcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gY3JlYXRlIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgdG8gbWFrZSBUTFMgY29tbXVuaWNhdGlvbiBwb3NzaWJsZSwgZS5nLiB3aXRoIGEgbG9hZGJhbGFuY2VyLlxuICAgKiAtIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCBLYWZrYSB2aWEgbXV0dWFsIFRMU1xuICAgKiAtIGJ1aWxkIHRoZSBjb250YWluZXIgaW1hZ2UgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgamliQnVpbGRUYXJcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqL1xuICBTVEFOREFSRF9HUkFETEVfS0FGS0EgPSAnU1RBTkRBUkRfR1JBRExFX0tBRktBJyxcbiAgLyoqXG4gICAqIFNlbGYtbXV0YXRpbmcgY29kZXBpcGVsaW5lIGRlcGxveWluZyB0aGUgcHJvdmlkZWQgQXBwU3RhY2suXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCB0byBzeW50aGVzaXplIHRoZSBBcHBTdGFjay5cbiAgICogTm8gYnJhbmNoIG9yIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmUgaXMgY3JlYXRlZC5cbiAgICovXG4gIFNUQU5EQVJEX0lORlJBU1RSVUNUVVJFID0gJ1NUQU5EQVJEX0lORlJBU1RSVUNUVVJFJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gcGFydGlhbEJ1aWxkU3BlY1BhdGggUGF0aCB0byBhIGN1c3RvbSBidWlsZC1zcGVjIGZpbGUgdG8gdXNlIGZvciB0aGUgbWFpbiBhbmQgYnJhbmNoIHBpcGVsaW5lLlxuICogQSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmaXR0aW5nIHRoZSBwaXBlbGluZVR5cGUgaXMgdXNlZCBpZiBub3QgcHJvdmlkZWQuXG4gKiBAcGFyYW0gYnVpbGRFbnZpcm9ubWVudCBDdXN0b20gQ29kZUJ1aWxkIGJ1aWxkIGVudmlyb25tZW50IG92ZXJyaWRpbmcgdGhlIHJpby1zcGVjaWZpYyBkZWZhdWx0cy4gVGhlIGRlZmF1bHRzIGFyZTpcbiAqICAgICAgICAgIGJ1aWxkSW1hZ2U6IEFNQVpPTl9MSU5VWF8yXzRcbiAqICAgICAgICAgIGNvbXB1dGVUeXBlOiBMQVJHRVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBwYXJ0aWFsQnVpbGRTcGVjUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRFbnZpcm9ubWVudD86IEJ1aWxkRW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQaXBlbGluZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwcml2YXRlIHN0YXRpYyBhZGRMaWZlY3ljbGVSdWxlQXJ0aWZhY3RCdWNrZXQocGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUpIHtcbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBwaXBlbGluZS5waXBlbGluZS5hcnRpZmFjdEJ1Y2tldDtcbiAgICAoYXJ0aWZhY3RzQnVja2V0IGFzIHMzLkJ1Y2tldCkuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cyg5MCksXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfbWFpbkNvZGVCdWlsZFByb2plY3Q6IENvZGVCdWlsZFN0ZXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JyYW5jaENvZGVCdWlsZFByb2plY3Q6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0TWFzdGVyVHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRCcmFuY2hUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3NzTGljZW5zZXNCdWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NvdW50TmFtZVBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmlzdERhdGFNaXJyb3JVcmw6IElTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgLy8gcG9wdWxhdGUgZXh0ZXJuYWwgcGFyYW1ldGVyc1xuICAgIHRoaXMuX2J1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnVHJpZ2dlckJ1Y2tldCcsIEZuLmltcG9ydFZhbHVlKCdiaXRidWNrZXQtaW50ZWdyYXRpb24tczMtYnVja2V0JykpO1xuICAgIHRoaXMuX2hvc3RlZFpvbmUgPSByaW8uUmlvTGFuZGluZ1pvbmUuZ2V0RGVmYXVsdEhvc3RlZFpvbmUodGhpcyk7XG4gICAgdGhpcy5faW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZSA9IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVTb3VyY2UuczModGhpcy5fYnVja2V0LCBgJHtwcm9wcy5zZXJ2aWNlTmFtZX0vdHJpZ2dlci8ke3Jpby5UcmlnZ2VyS2V5Lk1BU1RFUl9SRVBPfWAsIHsgdHJpZ2dlcjogY29kZXBpcGVsaW5lX2FjdGlvbnMuUzNUcmlnZ2VyLkVWRU5UUyB9KTtcbiAgICB0aGlzLl9pbnB1dEJyYW5jaFRyaWdnZXJGaWxlID0gcGlwZWxpbmVzLkNvZGVQaXBlbGluZVNvdXJjZS5zMyh0aGlzLl9idWNrZXQsIGAke3Byb3BzLnNlcnZpY2VOYW1lfS90cmlnZ2VyLyR7cmlvLlRyaWdnZXJLZXkuQlJBTkNIX1JFUE99YCwgeyB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVfYWN0aW9ucy5TM1RyaWdnZXIuRVZFTlRTIH0pO1xuXG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsICdPc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcicsIHsgcGFyYW1ldGVyTmFtZTogJy9jb25maWcvb3NzLWxpY2Vuc2VzL2J1Y2tldC1uYW1lJyB9KTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnT3NzTGljZW5zZXNCdWNrZXQnLCB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5zdHJpbmdWYWx1ZSk7XG4gICAgdGhpcy5fc2VydmljZUtleXN0b3JlUGFzc3dvcmQgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsICdLZXlzdG9yZVBhc3N3b3JkJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogYC9jb25maWcvJHtwcm9wcy5zZXJ2aWNlTmFtZX0vc2VydmljZS1rZXlzdG9yZS1wYXNzd29yZGAsXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH0pO1xuICAgIHRoaXMuX2FjY291bnROYW1lUGFyYW1ldGVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnQWNjb3VudE5hbWVQYXJhbWV0ZXInLCAnL2NvbmZpZy9hY2NvdW50L25hbWUnKTtcbiAgICB0aGlzLl9uaXN0RGF0YU1pcnJvclVybCA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVNlY3VyZVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ05pc3REYXRhTWlycm9yVXJsJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogJy9jb25maWcvbmlzdC1kYXRhLW1pcnJvci91cmwnLFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9KTtcblxuICAgIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0ID0gdGhpcy5jcmVhdGVSaW9Db2RlQnVpbGRQcm9qZWN0KCdNYWluQnVpbGQnLCB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLCBwcm9wcyk7XG4gICAgdGhpcy5hZGRNYWluUGlwZWxpbmUocHJvcHMsIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0KTtcblxuICAgIGlmIChwcm9wcy5waXBlbGluZVR5cGUgIT09IFBpcGVsaW5lVHlwZS5TVEFOREFSRF9JTkZSQVNUUlVDVFVSRSkge1xuICAgICAgdGhpcy5fYnJhbmNoQ29kZUJ1aWxkUHJvamVjdCA9IHRoaXMuY3JlYXRlUmlvQ29kZUJ1aWxkUHJvamVjdCgnQnJhbmNoQnVpbGQnLCB0aGlzLl9pbnB1dEJyYW5jaFRyaWdnZXJGaWxlLCBwcm9wcyk7XG4gICAgICB0aGlzLmFkZEJyYW5jaFBpcGVsaW5lKHByb3BzLCB0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0KTtcbiAgICAgIHRoaXMuYWRkVnVsbmVyYWJpbGl0eVBpcGVsaW5lKHByb3BzKTtcbiAgICB9XG5cbiAgICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gICAgbmV3IENsYWlkb21ldGVyKHRoaXMsICdDbGFpZG9tZXRlcicsIHtcbiAgICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmZWF0dXJlLFxuICAgICAgdmVyc2lvbjogJzAuMC41JyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFpbkNvZGVidWlsZFByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBicmFuY2hDb2RlQnVpbGRQcm9qZWN0KCk6IENvZGVCdWlsZFN0ZXAge1xuICAgIGlmICh0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBwaXBlbGluZSB0eXBlIHlvdSBoYXZlIHNlbGVjdGVkIGRvZXMgbm90IHN1cHBvcnQgYSBicmFuY2ggY29kZWJ1aWxkIHByb2plY3QnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3Q7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QobmFtZTogc3RyaW5nLCB0cmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBSaW9Db2RlQnVpbGRQcm9qZWN0KHRoaXMsIG5hbWUsIHtcbiAgICAgIGlucHV0OiB0cmlnZ2VyRmlsZSxcbiAgICAgIGNka091dERpcmVjdG9yeTogJ2luZnJhc3RydWN0dXJlL2Nkay5vdXQnLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocHJvcHM/LmNvZGVCdWlsZE9wdGlvbnM/LnBhcnRpYWxCdWlsZFNwZWNQYXRoIHx8XG4gICAgICAgICAgdGhpcy5yZXNvbHZlRGVmYXVsdEJ1aWxkU3BlYyhwcm9wcy5waXBlbGluZVR5cGUpKSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHByb3BzPy5jb2RlQnVpbGRPcHRpb25zPy5idWlsZEVudmlyb25tZW50LFxuICAgICAgaG9zdGVkWm9uZU5hbWU6IHRoaXMuX2hvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBhZGRNYWluUGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcywgbWFpbkJ1aWxkOiBDb2RlQnVpbGRTdGVwKSB7XG5cbiAgICBjb25zdCBwaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIHN5bnRoOiBtYWluQnVpbGQsXG4gICAgfSk7XG5cbiAgICAvLyBDbG91ZEFzc2VtYmx5QXJ0aWZhY3RzIG11c3QgYmUgc21hbGxlciB0aGFuIDI1Nk1CLiBEdWUgdG8gdGhlIGdyYWRsZSBhcnRpZmFjdCB3ZSBhcmUgZXhjZWVkaW5nIHRoaXMgbGltaXQgYW5kIHBpcGVsaW5lIGZhaWxzIGluIGRlcGxveW1lbnQgc3RlcC5cbiAgICAvLyBJc3N1ZSBpcyBrbm93biBhbmQgbm90IGZpeGVkIGZvciBhbHJlYWR5IHNvbWUgeWVhcnMuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85OTE3XG4gICAgLy8gRGlydHkgZml4OiBBc3NldHMgYXJlIGFscmVhZHkgdXBsb2FkZWQgYW5kIHRodXMgbm90IG5lZWRlZC4gUmVtb3ZlIHRoZW0gZnJvbSBwaXBlbGluZSBhcnRpZmFjdC5cbiAgICBjb25zdCBzdHJpcEFzc2V0c1N0ZXAgPSBuZXcgQ29kZUJ1aWxkU3RlcChcbiAgICAgICdTdHJpcEFzc2V0c0Zyb21Bc3NlbWJseScsIHtcbiAgICAgICAgaW5wdXQ6IHBpcGVsaW5lLmNsb3VkQXNzZW1ibHlGaWxlU2V0LFxuICAgICAgICBjb21tYW5kczogW1xuICAgICAgICAgICdTM19QQVRIPSR7Q09ERUJVSUxEX1NPVVJDRV9WRVJTSU9OI1wiYXJuOmF3czpzMzo6OlwifScsXG4gICAgICAgICAgJ1pJUF9BUkNISVZFPSQoYmFzZW5hbWUgJFMzX1BBVEgpJyxcbiAgICAgICAgICAncm0gLXJmdiBhc3NldC4qJyxcbiAgICAgICAgICAnemlwIC1yIC1xIC1BICRaSVBfQVJDSElWRSAqJyxcbiAgICAgICAgICAnYXdzIHMzIGNwICRaSVBfQVJDSElWRSBzMzovLyRTM19QQVRIJyxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHBpcGVsaW5lLmFkZFdhdmUoJ0JlZm9yZURlcGxveScsIHsgcHJlOiBbc3RyaXBBc3NldHNTdGVwXSB9KTtcblxuICAgIHBpcGVsaW5lLmFkZFN0YWdlKG5ldyBBcHBsaWNhdGlvbih0aGlzLCAnRGVwbG95QXBwbGljYXRpb25TdGFja3MnLCB7XG4gICAgICBhcHBTdGFja0ZhY3Rvcnk6IHByb3BzLmFwcFN0YWNrRmFjdG9yeSxcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHZlcnNpb246IGNvZGVwaXBlbGluZS5HbG9iYWxWYXJpYWJsZXMuZXhlY3V0aW9uSWQsXG4gICAgfSksIHtcbiAgICAgIHByZTogcHJvcHMuc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA/IFtcbiAgICAgICAgbmV3IHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95U2VjcmV0cycsIHtcbiAgICAgICAgICAuLi5wcm9wcy5zZWNyZXRzRGVwbG95U3RlcFByb3BzLFxuICAgICAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgICB9KSxcbiAgICAgIF0gOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgcGlwZWxpbmUuYnVpbGRQaXBlbGluZSgpO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBldmVudHMuUnVsZSh0aGlzLCAnUGlwZWxpbmVTY2hlZHVsZScsIHsgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKCdjcm9uKDAgOSA/ICogMiMxICopJykgfSk7XG4gICAgcnVsZS5hZGRUYXJnZXQobmV3IHRhcmdldHMuQ29kZVBpcGVsaW5lKHBpcGVsaW5lLnBpcGVsaW5lKSk7XG5cbiAgICBQaXBlbGluZVN0YWNrLmFkZExpZmVjeWNsZVJ1bGVBcnRpZmFjdEJ1Y2tldChwaXBlbGluZSk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUobWFpbkJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIH1cbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKG1haW5CdWlsZCwgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knKTtcbiAgICB9XG4gICAgcGlwZWxpbmUucGlwZWxpbmUuYXJ0aWZhY3RCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoc3RyaXBBc3NldHNTdGVwLnByb2plY3QpO1xuXG4gICAgbmV3IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQodGhpcywgJ0RhdGFkb2dQaXBlbGluZUVycm9yTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHBpcGVsaW5lTmFtZTogdGhpcy5yZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRCcmFuY2hQaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzLCBicmFuY2hCdWlsZDogQ29kZUJ1aWxkU3RlcCkge1xuXG4gICAgY29uc3QgYnJhbmNoUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnQnJhbmNoUGlwZWxpbmUnLCB7XG4gICAgICBzeW50aDogYnJhbmNoQnVpbGQsXG4gICAgICBzZWxmTXV0YXRpb246IGZhbHNlLFxuICAgIH0pO1xuICAgIGJyYW5jaFBpcGVsaW5lLmFkZFdhdmUoJ0JyYW5jaEJ1aWxkJykuYWRkUG9zdChicmFuY2hCdWlsZCk7XG4gICAgYnJhbmNoUGlwZWxpbmUuYnVpbGRQaXBlbGluZSgpO1xuXG4gICAgUGlwZWxpbmVTdGFjay5hZGRMaWZlY3ljbGVSdWxlQXJ0aWZhY3RCdWNrZXQoYnJhbmNoUGlwZWxpbmUpO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0LmdyYW50UmVhZFdyaXRlKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJyYW5jaEJ1aWxkLCAnQnJhbmNoS2Fma2FJbnRlZ3JhdGlvblBvbGljeScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVnVsbmVyYWJpbGl0eVBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5QnVpbGQgPSBuZXcgUmlvQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCAnVnVsbmVyYWJpbGl0eUNoZWNrcycsIHtcbiAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjLXZ1bG5lcmFiaWxpdHktY2hlY2tzLnlhbWwnKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgIH0pO1xuICAgIGNvbnN0IHZ1bG5lcmFiaWxpdHlQaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdWdWxuZXJhYmlsaXR5UGlwZWxpbmUnLCB7XG4gICAgICBzeW50aDogdnVsbmVyYWJpbGl0eUJ1aWxkLFxuICAgICAgc2VsZk11dGF0aW9uOiBmYWxzZSxcbiAgICB9KTtcbiAgICB2dWxuZXJhYmlsaXR5UGlwZWxpbmUuYWRkV2F2ZSgnVnVsbmVyYWJpbGl0eUNoZWNrcycpLmFkZFBvc3QodnVsbmVyYWJpbGl0eUJ1aWxkKTtcbiAgICB2dWxuZXJhYmlsaXR5UGlwZWxpbmUuYnVpbGRQaXBlbGluZSgpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsLmdyYW50UmVhZCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuXG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eVJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1Z1bG5lcmFiaWxpdHlQaXBlbGluZVNjaGVkdWxlJywgeyBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24oJ2Nyb24oMCA1ID8gKiBNT04tRlJJICopJykgfSk7XG4gICAgdnVsbmVyYWJpbGl0eVJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIFBpcGVsaW5lU3RhY2suYWRkTGlmZWN5Y2xlUnVsZUFydGlmYWN0QnVja2V0KHZ1bG5lcmFiaWxpdHlQaXBlbGluZSk7XG4gICAgbmV3IERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzKHRoaXMsICdEYXRhRG9nUGlwZWxpbmVFcnJvckZvclZ1bG5lcmFiaWxpdHlDaGVja3NNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgcGlwZWxpbmVOYW1lOiB0aGlzLnJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UodnVsbmVyYWJpbGl0eVBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRGVmYXVsdEJ1aWxkU3BlYyhwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZSkge1xuICAgIHN3aXRjaCAocGlwZWxpbmVUeXBlKSB7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEU6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWMueWFtbCcpO1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBOlxuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjX2thZmthLnlhbWwnKTtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFOlxuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjX2luZnJhc3RydWN0dXJlLnlhbWwnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJ1aWxkUHJvamVjdDogUmlvQ29kZUJ1aWxkUHJvamVjdCwgcG9saWN5SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGJ1aWxkUHJvamVjdFJvbGUgPSBidWlsZFByb2plY3QucHJvamVjdC5yb2xlO1xuICAgIGlmIChidWlsZFByb2plY3RSb2xlKSB7XG4gICAgICBidWlsZFByb2plY3RSb2xlLmFkZE1hbmFnZWRQb2xpY3koXG4gICAgICAgIE1hbmFnZWRQb2xpY3kuZnJvbU1hbmFnZWRQb2xpY3lBcm4odGhpcyxcbiAgICAgICAgICBwb2xpY3lJZCxcbiAgICAgICAgICBGbi5pbXBvcnRWYWx1ZSgna2Fma2EtaW50ZWdyYXRpb24tcG9saWN5LWFybicpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoYENvdWxkIG5vdCBhZGQgbWFuYWdlZCBwb2xpY3kgZm9yIGthZmthLWludGVncmF0aW9uIHRvIENvZGVCdWlsZCBwcm9qZWN0IG9mICR7YnVpbGRQcm9qZWN0LmlkfSBkdWUgdG8gbWlzc2luZyByb2xlLmApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEJ1aWxkU3BlY0Zyb21GaWxlKGJ1aWxkU3BlY1BhdGg6IHN0cmluZyk6IEJ1aWxkU3BlYyB7XG4gICAgcmV0dXJuIEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoYnVpbGRTcGVjUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSkgYXMgT2JqZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lUGlwZWxpbmVUb0xvd2VyQ2FzZShwaXBlbGluZTogcGlwZWxpbmVzLkNvZGVQaXBlbGluZSk6IFJlZmVyZW5jZSB7XG4gICAgY29uc3QgdXBwZXJUb0xvd2VyQ3IgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsIGAke3BpcGVsaW5lLm5vZGUuaWR9LVVwcGVyVG9Mb3dlcmAsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6VXBwZXJUb0xvd2VyJyxcbiAgICAgIHNlcnZpY2VUb2tlbjogVXBwZXJUb0xvd2VyLmdldE9yQ3JlYXRlKHRoaXMpLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgVXBwZXI6IHBpcGVsaW5lLnBpcGVsaW5lLnBpcGVsaW5lTmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHVwcGVyVG9Mb3dlckNyLmdldEF0dCgnTG93ZXInKTtcbiAgfVxufVxuIl19
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBeUU7QUFDekUsNkRBQXlGO0FBQ3pGLDZFQUE2RTtBQUM3RSxpREFBaUQ7QUFDakQsMERBQTBEO0FBQzFELGlEQUFvRDtBQUVwRCx5Q0FBeUM7QUFFekMsMkNBQTJDO0FBRTNDLG1EQUFtRDtBQUNuRCxxREFBMEU7QUFFMUUsZ0NBQWdDO0FBQ2hDLHNDQUFzQztBQUN0QywwQ0FBaUU7QUFDakUsaUVBQThEO0FBQzlELDJEQUFrRDtBQUNsRCxtREFBc0Q7QUFDdEQseURBQWdIO0FBMEZoSCxJQUFZLFlBc0NYO0FBdENELFdBQVksWUFBWTtJQUV0Qjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxtREFBbUMsQ0FBQTtJQUNuQzs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsK0RBQStDLENBQUE7SUFDL0M7Ozs7O09BS0c7SUFDSCxtRUFBbUQsQ0FBQTtBQUNyRCxDQUFDLEVBdENXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBc0N2QjtBQWNELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBcUJ0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLCtCQUErQjtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsZ0JBQUUsQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxXQUFXLEdB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LGNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFO1lBQ3RGLFlBQVksRUFBRSxzQkFBc0I7WUFDcEMsWUFBWSxFQUFFLDJCQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZO1lBQ2xFLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBMU9ILHNDQTJPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRHVyYXRpb24sIEZuLCBSZWZlcmVuY2UsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQnVpbGRFbnZpcm9ubWVudCwgQnVpbGRTcGVjLCBMaW51eEJ1aWxkSW1hZ2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZV9hY3Rpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IElTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29kZUJ1aWxkU3RlcCwgQ29kZVBpcGVsaW5lU291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcbmltcG9ydCAqIGFzIHJpbyBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgVXBwZXJUb0xvd2VyIH0gZnJvbSAnLi4vLi4vLi4vd2F0Y2hmdWwvdXBwZXJUb0xvd2VyJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi1zdGFnZSc7XG5pbXBvcnQgeyBSaW9Db2RlQnVpbGRQcm9qZWN0IH0gZnJvbSAnLi9idWlsZC1wcm9qZWN0JztcbmltcG9ydCB7IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQsIERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzIH0gZnJvbSAnLi9kYXRhZG9nLW1vbml0b3JzJztcblxuLyoqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZVxuICAgKiAtIFRoaXMgaGFzIHRvIGJlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHJlcG9zaXRvcnkgYXMgdGhlIHMzIHRyaWdnZXIgZmlsZSBjcmVhdGVkIGJ5IHRoZSBiaXRidWNrZXQtaW50ZWdyYXRpb24gdXNlcyB0aGlzIGFzIGEgcHJlZml4XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBTRVJWSUNFX05BTUUgaW4gdGhlIENvZGVCdWlsZFN0ZXBcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBBcHBTdGFja1Byb3BzIGluIHRoZSBhcHBTdGFja0ZhY3RvcnlcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGFzIHN0YWNrTmFtZSBwcm9wZXJ0eSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5LiBJLmUuIHRoZSBzdGFjayBpcyBuYW1lZCBhZnRlciB0aGUgc2VydmljZVxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBoYW5kZWQgb3ZlciB0byBhbGwgRGF0YWRvZyBtb25pdG9yc1xuICAgKiAtIFJJTyBjb252ZW50aW9uIGlzIHRoYXQgdXBsb2FkZWQgbGljZW5zZS1jaGVjay1maWxlcyBhcmUgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2UsIGkuZS4gc2VydmljZU5hbWUudHh0XG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlciBmb3IgYXBwU3RhY2sgdG8gYmUgZGVwbG95ZWQuXG4gICAqXG4gICAqIFRoaXMgYWN0cyBhcyBhIHdyYXBwZXIgZm9yIGFsbCByZXNvdXJjZXMgeW91IHdhbnQgdG8gZGVwbG95IHZpYSB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICByZWFkb25seSBhcHBTdGFja0ZhY3Rvcnk6IElBcHBTdGFja0ZhY3Rvcnk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgd2hpY2gga2luZCBvZiBwaXBlbGluZSBpcyBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHNlY3JldHMgZmlsZSBjb250YWluaW5nIGVuY3J5cHRlZCBzZWNyZXRzLlxuICAgKlxuICAgKiBUaGUgUmlvU2VjcmV0c0RlcGxveVN0ZXAgaXMgYWRkZWQgcHJpb3IgdG8gZGVwbG95bWVudCBvZiB0aGUgQXBwU3RhY2sgaWYgYSBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKlxuICAgKiBObyBzZWNyZXRzIGFyZSBkZXBsb3llZCBpZiBubyBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0c0RlcGxveVN0ZXBQcm9wcz86IFBpcGVsaW5lU3RhY2tSaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgb3B0aW9ucyBvdmVycmlkaW5nIHRoZSByaW8tc3BlY2lmaWMgZGVmYXVsdHMuXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRPcHRpb25zPzogQ29kZUJ1aWxkT3B0aW9ucztcbn1cblxuLyoqXG4gKiBQcm92aWRlciBpbnRlcmZhY2UgdG8gY3JlYXRlIHRoZSBBcHBTdGFjayB3aXRoaW4gdGhlIHNwZWNpZmljIHNjb3BlXG4gKlxuICogU2ltcGx5IHBsYWNlIHRoZSBBcHBTdGFjayBjcmVhdGlvbiBpbnRvIHRoZSBjcmVhdGUtbWV0aG9kOlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBVc2UgZS5nLiB3aXRoaW4gQXBwbGljYXRpb25Qcm9wcyBhcyBKU09OT2JqZWN0OlxuICogeyBjcmVhdGU6IChjb25zdHJ1Y3QsIHByb3BzKSA9PiBuZXcgU3RhY2soY29uc3RydWN0LCAnQXBwU3RhY2snLCBwcm9wcykgfVxuICpcbiAqIC8vIG9yIHNpbXBseSBhcyBjbGFzcyBpbnRlcmZhY2Ugd2l0aGluIHlvdXIgc3RhY2sgaW1wbGVtZW50YXRpb246XG4gKiBjbGFzcyBQaXBlbGluZVN0YWdlIGV4dGVuZHMgU3RhZ2UgaW1wbGVtZW50cyBJQXBwU3RhY2tGYWN0b3J5IHtcbiAqICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWdlUHJvcHMpIHtcbiAqICAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAqICAgICAvLyB5b3VyIHN0YWdlIGRlZmluaXRpb25cbiAqICAgfVxuICpcbiAqICAgY3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBBcHBTdGFja1Byb3BzKTogdm9pZCB7XG4gKiAgICAgLy8gYXBwIHN0YWNrIGluaXRpYXRpb24gZ29lcyBpbiBoZXJlXG4gKiAgIH1cbiAqIH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXBwU3RhY2tGYWN0b3J5IHtcbiAgLyoqXG4gICAqIEZhY3RvcnkgbWV0aG9kLCBiZWluZyBpbnZva2VkIHdpdGggdGhlIHNwZWNpZmljIHNjb3BlIGR1cmluZyBwaXBlbGluZSBpbnN0YW50aWF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgcGFyZW50IGNvbnN0cnVjdCBmb3IgdGhlIGFwcCBzdGFja1xuICAgKiBAcGFyYW0gcHJvcHMgdGhlIGFwcCBzdGFja3MgcHJvcGVydGllc1xuICAgKi9cbiAgY3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBBcHBTdGFja1Byb3BzKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZWxlY3RlZCBwcm9wZXJ0aWVzIGJlaW5nIGhhbmRlZCBvdmVyIHRvIFJpb1NlY3JldHNEZXBsb3lTdGVwLlxuICpcbiAqIEBzZWUgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwXG4gKiBAc2VlIHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Jpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHMge1xuICByZWFkb25seSBzZWNyZXRzRmlsZVBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUGlwZWxpbmVUeXBlIHtcblxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay4gQmUgYXdhcmU6IFRoZSBwcm92aWRlZCBzZXJ2aWNlIHdvbid0IGhhdmUgYWNjZXNzIHRvIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRSA9ICdTVEFOREFSRF9HUkFETEUnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjayB3aXRoIGFkZGl0aW9uYWwgc3RlcHMgbmVlZGVkIHRvIGFjY2VzcyBLYWZrYS5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZvciBhIGdyYWRsZSBwcm9qZWN0LiBUaGlzIGJ1aWxkc3BlYy55YW1sIGlzIHVzZWQgZm9yIGJvdGggdGhlIG1haW4gYW5kXG4gICAqIGJyYW5jaCBwaXBlbGluZSBhbmQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzdGVwc1xuICAgKiAtIGJ1aWxkIGFuZCB0ZXN0IG9mIHRoZSBhcnRpZmFjdCB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjbGVhbiBidWlsZFwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBsaWNlbnNlLWNoZWNrIGFuZCB1cGxvYWQgb2YgbGljZW5zZS1jaGVjay1maWxlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNoZWNrTGljZW5zZXNcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gY3JlYXRlIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgdG8gbWFrZSBUTFMgY29tbXVuaWNhdGlvbiBwb3NzaWJsZSwgZS5nLiB3aXRoIGEgbG9hZGJhbGFuY2VyLlxuICAgKiAtIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCBLYWZrYSB2aWEgbXV0dWFsIFRMU1xuICAgKiAtIGJ1aWxkIHRoZSBjb250YWluZXIgaW1hZ2UgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgamliQnVpbGRUYXJcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqL1xuICBTVEFOREFSRF9HUkFETEVfS0FGS0EgPSAnU1RBTkRBUkRfR1JBRExFX0tBRktBJyxcbiAgLyoqXG4gICAqIFNlbGYtbXV0YXRpbmcgY29kZXBpcGVsaW5lIGRlcGxveWluZyB0aGUgcHJvdmlkZWQgQXBwU3RhY2suXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCB0byBzeW50aGVzaXplIHRoZSBBcHBTdGFjay5cbiAgICogTm8gYnJhbmNoIG9yIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmUgaXMgY3JlYXRlZC5cbiAgICovXG4gIFNUQU5EQVJEX0lORlJBU1RSVUNUVVJFID0gJ1NUQU5EQVJEX0lORlJBU1RSVUNUVVJFJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gcGFydGlhbEJ1aWxkU3BlY1BhdGggUGF0aCB0byBhIGN1c3RvbSBidWlsZC1zcGVjIGZpbGUgdG8gdXNlIGZvciB0aGUgbWFpbiBhbmQgYnJhbmNoIHBpcGVsaW5lLlxuICogQSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmaXR0aW5nIHRoZSBwaXBlbGluZVR5cGUgaXMgdXNlZCBpZiBub3QgcHJvdmlkZWQuXG4gKiBAcGFyYW0gYnVpbGRFbnZpcm9ubWVudCBDdXN0b20gQ29kZUJ1aWxkIGJ1aWxkIGVudmlyb25tZW50IG92ZXJyaWRpbmcgdGhlIHJpby1zcGVjaWZpYyBkZWZhdWx0cy4gVGhlIGRlZmF1bHRzIGFyZTpcbiAqICAgICAgICAgIGJ1aWxkSW1hZ2U6IEFNQVpPTl9MSU5VWF8yXzRcbiAqICAgICAgICAgIGNvbXB1dGVUeXBlOiBMQVJHRVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBwYXJ0aWFsQnVpbGRTcGVjUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRFbnZpcm9ubWVudD86IEJ1aWxkRW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQaXBlbGluZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwcml2YXRlIHN0YXRpYyBhZGRMaWZlY3ljbGVSdWxlQXJ0aWZhY3RCdWNrZXQocGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUpIHtcbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBwaXBlbGluZS5waXBlbGluZS5hcnRpZmFjdEJ1Y2tldDtcbiAgICAoYXJ0aWZhY3RzQnVja2V0IGFzIHMzLkJ1Y2tldCkuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cyg5MCksXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfbWFpbkNvZGVCdWlsZFByb2plY3Q6IENvZGVCdWlsZFN0ZXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JyYW5jaENvZGVCdWlsZFByb2plY3Q6IENvZGVCdWlsZFN0ZXAgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0TWFzdGVyVHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRCcmFuY2hUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3NzTGljZW5zZXNCdWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NvdW50TmFtZVBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmlzdERhdGFNaXJyb3JVcmw6IElTdHJpbmdQYXJhbWV0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvZGVCdWlsZERlZmF1bHRzOiBDb2RlQnVpbGRPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIHBvcHVsYXRlIGV4dGVybmFsIHBhcmFtZXRlcnNcbiAgICB0aGlzLl9idWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUodGhpcywgJ1RyaWdnZXJCdWNrZXQnLCBGbi5pbXBvcnRWYWx1ZSgnYml0YnVja2V0LWludGVncmF0aW9uLXMzLWJ1Y2tldCcpKTtcbiAgICB0aGlzLl9ob3N0ZWRab25lID0gcmlvLlJpb0xhbmRpbmdab25lLmdldERlZmF1bHRIb3N0ZWRab25lKHRoaXMpO1xuICAgIHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUgPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lU291cmNlLnMzKHRoaXMuX2J1Y2tldCwgYCR7cHJvcHMuc2VydmljZU5hbWV9L3RyaWdnZXIvJHtyaW8uVHJpZ2dlcktleS5NQVNURVJfUkVQT31gLCB7IHRyaWdnZXI6IGNvZGVwaXBlbGluZV9hY3Rpb25zLlMzVHJpZ2dlci5FVkVOVFMgfSk7XG4gICAgdGhpcy5faW5wdXRCcmFuY2hUcmlnZ2VyRmlsZSA9IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVTb3VyY2UuczModGhpcy5fYnVja2V0LCBgJHtwcm9wcy5zZXJ2aWNlTmFtZX0vdHJpZ2dlci8ke3Jpby5UcmlnZ2VyS2V5LkJSQU5DSF9SRVBPfWAsIHsgdHJpZ2dlcjogY29kZXBpcGVsaW5lX2FjdGlvbnMuUzNUcmlnZ2VyLkVWRU5UUyB9KTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnT3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXInLCB7IHBhcmFtZXRlck5hbWU6ICcvY29uZmlnL29zcy1saWNlbnNlcy9idWNrZXQtbmFtZScgfSk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUodGhpcywgJ09zc0xpY2Vuc2VzQnVja2V0JywgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIuc3RyaW5nVmFsdWUpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU2VjdXJlU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnS2V5c3RvcmVQYXNzd29yZCcsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IGAvY29uZmlnLyR7cHJvcHMuc2VydmljZU5hbWV9L3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmRgLFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0FjY291bnROYW1lUGFyYW1ldGVyJywgJy9jb25maWcvYWNjb3VudC9uYW1lJyk7XG4gICAgdGhpcy5fbmlzdERhdGFNaXJyb3JVcmwgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsICdOaXN0RGF0YU1pcnJvclVybCcsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6ICcvY29uZmlnL25pc3QtZGF0YS1taXJyb3IvdXJsJyxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG4gICAgdGhpcy5fY29kZUJ1aWxkRGVmYXVsdHMgPSB7XG4gICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5TVEFOREFSRF82XzAsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLl9tYWluQ29kZUJ1aWxkUHJvamVjdCA9IHRoaXMuY3JlYXRlUmlvQ29kZUJ1aWxkUHJvamVjdCgnTWFpbkJ1aWxkJywgdGhpcy5faW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZSwgcHJvcHMpO1xuICAgIHRoaXMuYWRkTWFpblBpcGVsaW5lKHByb3BzLCB0aGlzLl9tYWluQ29kZUJ1aWxkUHJvamVjdCk7XG5cbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QgPSB0aGlzLmNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QoJ0JyYW5jaEJ1aWxkJywgdGhpcy5faW5wdXRCcmFuY2hUcmlnZ2VyRmlsZSwgcHJvcHMpO1xuICAgICAgdGhpcy5hZGRCcmFuY2hQaXBlbGluZShwcm9wcywgdGhpcy5fYnJhbmNoQ29kZUJ1aWxkUHJvamVjdCk7XG4gICAgICB0aGlzLmFkZFZ1bG5lcmFiaWxpdHlQaXBlbGluZShwcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3QgW2ZlYXR1cmUsIHBhY2thZ2VOYW1lXSA9IF9fZGlybmFtZS5zcGxpdChwYXRoLnNlcCkucmV2ZXJzZSgpO1xuICAgIG5ldyBDbGFpZG9tZXRlcih0aGlzLCAnQ2xhaWRvbWV0ZXInLCB7XG4gICAgICBwcm9kdWN0OiBDbGFpZG9tZXRlclByb2R1Y3QuQ0RLX0NPTlRSSUJVVElPTixcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZmVhdHVyZSxcbiAgICAgIHZlcnNpb246ICcwLjAuNycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1haW5Db2RlYnVpbGRQcm9qZWN0KCkge1xuICAgIHJldHVybiB0aGlzLl9tYWluQ29kZUJ1aWxkUHJvamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYnJhbmNoQ29kZUJ1aWxkUHJvamVjdCgpOiBDb2RlQnVpbGRTdGVwIHtcbiAgICBpZiAodGhpcy5fYnJhbmNoQ29kZUJ1aWxkUHJvamVjdCA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IEVycm9yKCdUaGUgcGlwZWxpbmUgdHlwZSB5b3UgaGF2ZSBzZWxlY3RlZCBkb2VzIG5vdCBzdXBwb3J0IGEgYnJhbmNoIGNvZGVidWlsZCBwcm9qZWN0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSaW9Db2RlQnVpbGRQcm9qZWN0KG5hbWU6IHN0cmluZywgdHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZSwgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIHJldHVybiBuZXcgUmlvQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCBuYW1lLCB7XG4gICAgICBpbnB1dDogdHJpZ2dlckZpbGUsXG4gICAgICBjZGtPdXREaXJlY3Rvcnk6ICdpbmZyYXN0cnVjdHVyZS9jZGsub3V0JyxcbiAgICAgIHBhcnRpYWxCdWlsZFNwZWM6IHRoaXMubG9hZEJ1aWxkU3BlY0Zyb21GaWxlKHByb3BzPy5jb2RlQnVpbGRPcHRpb25zPy5wYXJ0aWFsQnVpbGRTcGVjUGF0aCB8fFxuICAgICAgICAgIHRoaXMucmVzb2x2ZURlZmF1bHRCdWlsZFNwZWMocHJvcHMucGlwZWxpbmVUeXBlKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgYWRkTWFpblBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMsIG1haW5CdWlsZDogQ29kZUJ1aWxkU3RlcCkge1xuXG4gICAgY29uc3QgcGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnUGlwZWxpbmUnLCB7XG4gICAgICBjb2RlQnVpbGREZWZhdWx0czogdGhpcy5fY29kZUJ1aWxkRGVmYXVsdHMsXG4gICAgICBzeW50aDogbWFpbkJ1aWxkLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvdWRBc3NlbWJseUFydGlmYWN0cyBtdXN0IGJlIHNtYWxsZXIgdGhhbiAyNTZNQi4gRHVlIHRvIHRoZSBncmFkbGUgYXJ0aWZhY3Qgd2UgYXJlIGV4Y2VlZGluZyB0aGlzIGxpbWl0IGFuZCBwaXBlbGluZSBmYWlscyBpbiBkZXBsb3ltZW50IHN0ZXAuXG4gICAgLy8gSXNzdWUgaXMga25vd24gYW5kIG5vdCBmaXhlZCBmb3IgYWxyZWFkeSBzb21lIHllYXJzLiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvOTkxN1xuICAgIC8vIERpcnR5IGZpeDogQXNzZXRzIGFyZSBhbHJlYWR5IHVwbG9hZGVkIGFuZCB0aHVzIG5vdCBuZWVkZWQuIFJlbW92ZSB0aGVtIGZyb20gcGlwZWxpbmUgYXJ0aWZhY3QuXG4gICAgY29uc3Qgc3RyaXBBc3NldHNTdGVwID0gbmV3IENvZGVCdWlsZFN0ZXAoXG4gICAgICAnU3RyaXBBc3NldHNGcm9tQXNzZW1ibHknLCB7XG4gICAgICAgIGlucHV0OiBwaXBlbGluZS5jbG91ZEFzc2VtYmx5RmlsZVNldCxcbiAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAnUzNfUEFUSD0ke0NPREVCVUlMRF9TT1VSQ0VfVkVSU0lPTiNcImFybjphd3M6czM6OjpcIn0nLFxuICAgICAgICAgICdaSVBfQVJDSElWRT0kKGJhc2VuYW1lICRTM19QQVRIKScsXG4gICAgICAgICAgJ3JtIC1yZnYgYXNzZXQuKicsXG4gICAgICAgICAgJ3ppcCAtciAtcSAtQSAkWklQX0FSQ0hJVkUgKicsXG4gICAgICAgICAgJ2F3cyBzMyBjcCAkWklQX0FSQ0hJVkUgczM6Ly8kUzNfUEFUSCcsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBwaXBlbGluZS5hZGRXYXZlKCdCZWZvcmVEZXBsb3knLCB7IHByZTogW3N0cmlwQXNzZXRzU3RlcF0gfSk7XG5cbiAgICBwaXBlbGluZS5hZGRTdGFnZShuZXcgQXBwbGljYXRpb24odGhpcywgJ0RlcGxveUFwcGxpY2F0aW9uU3RhY2tzJywge1xuICAgICAgYXBwU3RhY2tGYWN0b3J5OiBwcm9wcy5hcHBTdGFja0ZhY3RvcnksXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICB2ZXJzaW9uOiBwcm9jZXNzLmVudi5QSVBFTElORV9FWEVDVVRJT05fSUQgPz8gJ1BJUEVMSU5FX0VYRUNVVElPTl9JRCBub3Qgc2V0JyxcbiAgICB9KSwge1xuICAgICAgcHJlOiBwcm9wcy5zZWNyZXRzRGVwbG95U3RlcFByb3BzID8gW1xuICAgICAgICBuZXcgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwKHRoaXMsICdEZXBsb3lTZWNyZXRzJywge1xuICAgICAgICAgIC4uLnByb3BzLnNlY3JldHNEZXBsb3lTdGVwUHJvcHMsXG4gICAgICAgICAgaW5wdXQ6IHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsXG4gICAgICAgIH0pLFxuICAgICAgXSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBwaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG5cbiAgICBjb25zdCBydWxlID0gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdQaXBlbGluZVNjaGVkdWxlJywgeyBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24oJ2Nyb24oMCA5ID8gKiAyIzEgKiknKSB9KTtcbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Db2RlUGlwZWxpbmUocGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIFBpcGVsaW5lU3RhY2suYWRkTGlmZWN5Y2xlUnVsZUFydGlmYWN0QnVja2V0KHBpcGVsaW5lKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldC5ncmFudFJlYWRXcml0ZShtYWluQnVpbGQpO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIGlmIChwcm9wcy5waXBlbGluZVR5cGUgIT09IFBpcGVsaW5lVHlwZS5TVEFOREFSRF9JTkZSQVNUUlVDVFVSRSkge1xuICAgICAgdGhpcy5fc2VydmljZUtleXN0b3JlUGFzc3dvcmQuZ3JhbnRSZWFkKG1haW5CdWlsZCk7XG4gICAgfVxuICAgIHRoaXMuX2FjY291bnROYW1lUGFyYW1ldGVyLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIGlmIChwcm9wcy5waXBlbGluZVR5cGUgPT09IFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEVfS0FGS0EpIHtcbiAgICAgIHRoaXMuZ3JhbnRQZXJtaXNzaW9uc0ZvckthZmthSW50ZWdyYXRpb24obWFpbkJ1aWxkLCAnS2Fma2FJbnRlZ3JhdGlvblBvbGljeScpO1xuICAgIH1cbiAgICBwaXBlbGluZS5waXBlbGluZS5hcnRpZmFjdEJ1Y2tldC5ncmFudFJlYWRXcml0ZShzdHJpcEFzc2V0c1N0ZXAucHJvamVjdCk7XG5cbiAgICBuZXcgRGF0YWRvZ1BpcGVsaW5lRXJyb3JBbGVydCh0aGlzLCAnRGF0YWRvZ1BpcGVsaW5lRXJyb3JNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgcGlwZWxpbmVOYW1lOiB0aGlzLnJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UocGlwZWxpbmUpLFxuICAgICAgYWNjb3VudElkOiB0aGlzLmFjY291bnQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEJyYW5jaFBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMsIGJyYW5jaEJ1aWxkOiBDb2RlQnVpbGRTdGVwKSB7XG5cbiAgICBjb25zdCBicmFuY2hQaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdCcmFuY2hQaXBlbGluZScsIHtcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB0aGlzLl9jb2RlQnVpbGREZWZhdWx0cyxcbiAgICAgIHN5bnRoOiBicmFuY2hCdWlsZCxcbiAgICAgIHNlbGZNdXRhdGlvbjogZmFsc2UsXG4gICAgfSk7XG4gICAgYnJhbmNoUGlwZWxpbmUuYWRkV2F2ZSgnQnJhbmNoQnVpbGQnKS5hZGRQb3N0KGJyYW5jaEJ1aWxkKTtcbiAgICBicmFuY2hQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG5cbiAgICBQaXBlbGluZVN0YWNrLmFkZExpZmVjeWNsZVJ1bGVBcnRpZmFjdEJ1Y2tldChicmFuY2hQaXBlbGluZSk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fc2VydmljZUtleXN0b3JlUGFzc3dvcmQuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIGlmIChwcm9wcy5waXBlbGluZVR5cGUgPT09IFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEVfS0FGS0EpIHtcbiAgICAgIHRoaXMuZ3JhbnRQZXJtaXNzaW9uc0ZvckthZmthSW50ZWdyYXRpb24oYnJhbmNoQnVpbGQsICdCcmFuY2hLYWZrYUludGVncmF0aW9uUG9saWN5Jyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRWdWxuZXJhYmlsaXR5UGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIGNvbnN0IHZ1bG5lcmFiaWxpdHlCdWlsZCA9IG5ldyBSaW9Db2RlQnVpbGRQcm9qZWN0KHRoaXMsICdWdWxuZXJhYmlsaXR5Q2hlY2tzJywge1xuICAgICAgaW5wdXQ6IHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsXG4gICAgICBwYXJ0aWFsQnVpbGRTcGVjOiB0aGlzLmxvYWRCdWlsZFNwZWNGcm9tRmlsZShwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWMtdnVsbmVyYWJpbGl0eS1jaGVja3MueWFtbCcpKSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHByb3BzPy5jb2RlQnVpbGRPcHRpb25zPy5idWlsZEVudmlyb25tZW50LFxuICAgICAgaG9zdGVkWm9uZU5hbWU6IHRoaXMuX2hvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eVBpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgJ1Z1bG5lcmFiaWxpdHlQaXBlbGluZScsIHtcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB0aGlzLl9jb2RlQnVpbGREZWZhdWx0cyxcbiAgICAgIHN5bnRoOiB2dWxuZXJhYmlsaXR5QnVpbGQsXG4gICAgICBzZWxmTXV0YXRpb246IGZhbHNlLFxuICAgIH0pO1xuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5hZGRXYXZlKCdWdWxuZXJhYmlsaXR5Q2hlY2tzJykuYWRkUG9zdCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG4gICAgdGhpcy5fbmlzdERhdGFNaXJyb3JVcmwuZ3JhbnRSZWFkKHZ1bG5lcmFiaWxpdHlCdWlsZCk7XG5cbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5UnVsZSA9IG5ldyBldmVudHMuUnVsZSh0aGlzLCAnVnVsbmVyYWJpbGl0eVBpcGVsaW5lU2NoZWR1bGUnLCB7IHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUuZXhwcmVzc2lvbignY3JvbigwIDUgPyAqIE1PTi1GUkkgKiknKSB9KTtcbiAgICB2dWxuZXJhYmlsaXR5UnVsZS5hZGRUYXJnZXQobmV3IHRhcmdldHMuQ29kZVBpcGVsaW5lKHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5waXBlbGluZSkpO1xuXG4gICAgUGlwZWxpbmVTdGFjay5hZGRMaWZlY3ljbGVSdWxlQXJ0aWZhY3RCdWNrZXQodnVsbmVyYWJpbGl0eVBpcGVsaW5lKTtcbiAgICBuZXcgRGF0YURvZ1BpcGVsaW5lRXJyb3JBbGVydEZvclZ1bG5lcmFiaWxpdHlDaGVja3ModGhpcywgJ0RhdGFEb2dQaXBlbGluZUVycm9yRm9yVnVsbmVyYWJpbGl0eUNoZWNrc01vbml0b3InLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBwaXBlbGluZU5hbWU6IHRoaXMucmVuYW1lUGlwZWxpbmVUb0xvd2VyQ2FzZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUpLFxuICAgICAgYWNjb3VudElkOiB0aGlzLmFjY291bnQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVEZWZhdWx0QnVpbGRTcGVjKHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlKSB7XG4gICAgc3dpdGNoIChwaXBlbGluZVR5cGUpIHtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRTpcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlYy55YW1sJyk7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEVfS0FGS0E6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfa2Fma2EueWFtbCcpO1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkU6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWNfaW5mcmFzdHJ1Y3R1cmUueWFtbCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ3JhbnRQZXJtaXNzaW9uc0ZvckthZmthSW50ZWdyYXRpb24oYnVpbGRQcm9qZWN0OiBSaW9Db2RlQnVpbGRQcm9qZWN0LCBwb2xpY3lJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgYnVpbGRQcm9qZWN0Um9sZSA9IGJ1aWxkUHJvamVjdC5wcm9qZWN0LnJvbGU7XG4gICAgaWYgKGJ1aWxkUHJvamVjdFJvbGUpIHtcbiAgICAgIGJ1aWxkUHJvamVjdFJvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgICAgTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0aGlzLFxuICAgICAgICAgIHBvbGljeUlkLFxuICAgICAgICAgIEZuLmltcG9ydFZhbHVlKCdrYWZrYS1pbnRlZ3JhdGlvbi1wb2xpY3ktYXJuJyksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihgQ291bGQgbm90IGFkZCBtYW5hZ2VkIHBvbGljeSBmb3Iga2Fma2EtaW50ZWdyYXRpb24gdG8gQ29kZUJ1aWxkIHByb2plY3Qgb2YgJHtidWlsZFByb2plY3QuaWR9IGR1ZSB0byBtaXNzaW5nIHJvbGUuYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkQnVpbGRTcGVjRnJvbUZpbGUoYnVpbGRTcGVjUGF0aDogc3RyaW5nKTogQnVpbGRTcGVjIHtcbiAgICByZXR1cm4gQnVpbGRTcGVjLmZyb21PYmplY3QoeWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyhidWlsZFNwZWNQYXRoLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKSBhcyBPYmplY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lOiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKTogUmVmZXJlbmNlIHtcbiAgICBjb25zdCB1cHBlclRvTG93ZXJDciA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgYCR7cGlwZWxpbmUubm9kZS5pZH0tVXBwZXJUb0xvd2VyYCwge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpVcHBlclRvTG93ZXInLFxuICAgICAgc2VydmljZVRva2VuOiBVcHBlclRvTG93ZXIuZ2V0T3JDcmVhdGUodGhpcykucHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBVcHBlcjogcGlwZWxpbmUucGlwZWxpbmUucGlwZWxpbmVOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gdXBwZXJUb0xvd2VyQ3IuZ2V0QXR0KCdMb3dlcicpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
package/version.json
CHANGED