@flit/cdk-pipeline 1.0.25 → 1.0.26

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/dist/segment.js CHANGED
@@ -28,7 +28,7 @@ class Segment {
28
28
  }
29
29
  exports.Segment = Segment;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- Segment[_a] = { fqn: "@flit/cdk-pipeline.Segment", version: "1.0.25" };
31
+ Segment[_a] = { fqn: "@flit/cdk-pipeline.Segment", version: "1.0.26" };
32
32
  class SegmentConstructed extends constructs_1.Construct {
33
33
  constructor() {
34
34
  super(...arguments);
@@ -38,5 +38,5 @@ class SegmentConstructed extends constructs_1.Construct {
38
38
  }
39
39
  exports.SegmentConstructed = SegmentConstructed;
40
40
  _b = JSII_RTTI_SYMBOL_1;
41
- SegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.SegmentConstructed", version: "1.0.25" };
41
+ SegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.SegmentConstructed", version: "1.0.26" };
42
42
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBWXZDLE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFtQjtRQUx0QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIsV0FBTSxHQUFlLEVBQUUsQ0FBQztRQUN4QixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBRWhDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FDWixLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDekQsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUNiLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPO2dCQUN2QyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQ2QsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUNMLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7Z0JBQzFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7O0FBekJILDBCQTJCQzs7O0FBRUQsTUFBc0Isa0JBQW1CLFNBQVEsc0JBQVM7SUFBMUQ7O1FBQ1csU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQWMsRUFBRSxDQUFDO0tBQ2xDOztBQUhELGdEQUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcblxuaW1wb3J0IHsgQXJ0aWZhY3QgfSBmcm9tIFwiLi9hcnRpZmFjdFwiO1xuaW1wb3J0IHsgUGlwZWxpbmUgfSBmcm9tIFwiLi9waXBlbGluZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlZ21lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGlucHV0PzogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhZG9ubHkgaXNQaXBlbGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBTdGFja1tdO1xuICByZWFkb25seSBpbnB1dHM6IEFydGlmYWN0W10gPSBbXTtcbiAgcmVhZG9ubHkgb3V0cHV0czogQXJ0aWZhY3RbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU2VnbWVudFByb3BzKSB7XG4gICAgaWYgKHByb3BzLmlucHV0KSB7XG4gICAgICB0aGlzLmlucHV0cyA9IChcbiAgICAgICAgcHJvcHMuaW5wdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiID8gcHJvcHMuaW5wdXQgOiBbcHJvcHMuaW5wdXRdXG4gICAgICApIGFzIEFydGlmYWN0W107XG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QuY29uc3VtZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgICBpZiAocHJvcHMub3V0cHV0KSB7XG4gICAgICB0aGlzLm91dHB1dHMgPSAoXG4gICAgICAgIHByb3BzLm91dHB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/IHByb3BzLm91dHB1dFxuICAgICAgICAgIDogW3Byb3BzLm91dHB1dF1cbiAgICAgICkgYXMgQXJ0aWZhY3RbXTtcbiAgICAgIHRoaXMub3V0cHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QucHJvZHVjZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgfVxuICBhYnN0cmFjdCBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VnbWVudENvbnN0cnVjdGVkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nID0gXCJcIjtcbiAgcmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdID0gW107XG59XG4iXX0=
@@ -12,5 +12,5 @@ class SourceSegment extends segment_1.Segment {
12
12
  }
13
13
  exports.SourceSegment = SourceSegment;
14
14
  _a = JSII_RTTI_SYMBOL_1;
15
- SourceSegment[_a] = { fqn: "@flit/cdk-pipeline.SourceSegment", version: "1.0.25" };
15
+ SourceSegment[_a] = { fqn: "@flit/cdk-pipeline.SourceSegment", version: "1.0.26" };
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1Q0FBb0M7QUFNcEMsTUFBc0IsYUFBYyxTQUFRLGlCQUFPO0lBQW5EOztRQUNXLGFBQVEsR0FBWSxJQUFJLENBQUM7S0FDbkM7O0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcIi4vc2VnbWVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZVNlZ21lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IG91dHB1dDogQXJ0aWZhY3Q7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTb3VyY2VTZWdtZW50IGV4dGVuZHMgU2VnbWVudCB7XG4gIHJlYWRvbmx5IGlzU291cmNlOiBib29sZWFuID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Stack } from "aws-cdk-lib";
2
- import { BuildEnvironmentVariable } from "aws-cdk-lib/aws-codebuild";
2
+ import { BuildEnvironmentVariable, ProjectProps } from "aws-cdk-lib/aws-codebuild";
3
3
  import { IAction } from "aws-cdk-lib/aws-codepipeline";
4
4
  import { IRole } from "aws-cdk-lib/aws-iam";
5
5
  import { Artifact } from "./artifact";
@@ -18,7 +18,7 @@ export interface StackSegmentProps {
18
18
  * The command(s) to build the stack.
19
19
  * @example "cdk synth StackName --strict --exclusively"
20
20
  */
21
- readonly command: string | string[];
21
+ readonly project?: ProjectProps;
22
22
  /**
23
23
  * The role for the build stage.
24
24
  */
@@ -68,7 +68,7 @@ export declare class StackSegment extends Segment {
68
68
  }
69
69
  export interface StackSegmentConstructedProps {
70
70
  readonly stack: Stack;
71
- readonly command: string | string[];
71
+ readonly project?: ProjectProps;
72
72
  readonly environmentVariables?: {
73
73
  [key: string]: BuildEnvironmentVariable;
74
74
  };
@@ -6,9 +6,9 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
7
7
  const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
8
8
  const path = require("path");
9
- const publish_assets_action_1 = require("./publish-assets-action");
10
9
  const artifact_1 = require("./artifact");
11
10
  const segment_1 = require("./segment");
11
+ const publish_assets_action_1 = require("./publish-assets-action");
12
12
  /**
13
13
  * @category Segments
14
14
  */
@@ -27,75 +27,72 @@ class StackSegment extends segment_1.Segment {
27
27
  }
28
28
  exports.StackSegment = StackSegment;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "1.0.25" };
30
+ StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "1.0.26" };
31
31
  class StackSegmentConstructed extends segment_1.SegmentConstructed {
32
32
  constructor(scope, id, props) {
33
33
  super(scope, id);
34
34
  this.name = props.stack.stackName;
35
- const buildArtifact = new artifact_1.Artifact();
35
+ const buildArtifact = props.project ? new artifact_1.Artifact() : undefined;
36
36
  this.actions = [
37
- new aws_codepipeline_actions_1.CodeBuildAction({
38
- actionName: "Build",
39
- runOrder: 1,
40
- input: props.input,
41
- extraInputs: props.extraInputs,
42
- outputs: [buildArtifact],
43
- environmentVariables: props.environmentVariables,
44
- project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
45
- environment: {
46
- computeType: aws_codebuild_1.ComputeType.MEDIUM,
47
- buildImage: aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_5,
48
- privileged: true,
49
- },
50
- buildSpec: aws_codebuild_1.BuildSpec.fromObject({
51
- version: "0.2",
52
- phases: {
53
- install: {
54
- "runtime-versions": {
55
- nodejs: "latest",
56
- },
57
- commands: ["n 18.18.2", "npm i -g npm@latest", "npm ci"],
58
- },
59
- build: {
60
- commands: props.command,
61
- },
62
- },
63
- artifacts: {
64
- files: [path.join(scope.buildDir, "**/*")],
65
- },
66
- cache: {
67
- paths: ["/root/.npm/**/*"],
68
- },
37
+ ...(buildArtifact
38
+ ? [
39
+ new aws_codepipeline_actions_1.CodeBuildAction({
40
+ actionName: "Build",
41
+ runOrder: 1,
42
+ input: props.input,
43
+ extraInputs: props.extraInputs,
44
+ outputs: [buildArtifact],
45
+ environmentVariables: props.environmentVariables,
46
+ project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
47
+ ...props.project,
48
+ buildSpec: props.project?.buildSpec
49
+ ? (0, aws_codebuild_1.mergeBuildSpecs)(props.project.buildSpec, aws_codebuild_1.BuildSpec.fromObject({
50
+ artifacts: {
51
+ files: [path.join(scope.buildDir, "**/*")],
52
+ },
53
+ }))
54
+ : aws_codebuild_1.BuildSpec.fromObject({
55
+ artifacts: {
56
+ files: [path.join(scope.buildDir, "**/*")],
57
+ },
58
+ }),
59
+ }),
69
60
  }),
70
- }),
71
- }),
72
- new publish_assets_action_1.PublishAssetsAction(this, "PublishAssets", {
73
- actionName: "PublishAssets",
74
- runOrder: 2,
75
- input: buildArtifact,
76
- manifestPath: scope.buildDir,
77
- }),
61
+ new publish_assets_action_1.PublishAssetsAction(this, "PublishAssets", {
62
+ actionName: "PublishAssets",
63
+ runOrder: 2,
64
+ input: buildArtifact,
65
+ manifestPath: scope.buildDir,
66
+ }),
67
+ ]
68
+ : []),
78
69
  new aws_codepipeline_actions_1.CloudFormationCreateReplaceChangeSetAction({
79
70
  actionName: "PrepareChanges",
80
- runOrder: 3,
71
+ runOrder: buildArtifact ? 3 : 1,
81
72
  stackName: props.stackName ? props.stackName : props.stack.stackName,
82
73
  account: props.account,
83
74
  region: props.region,
84
75
  changeSetName: `${props.stack.stackName}Changes`,
85
76
  adminPermissions: true,
86
- templatePath: buildArtifact.atPath(path.join(scope.buildDir, props.stack.templateFile)),
77
+ templatePath: (buildArtifact ? buildArtifact : props.input).atPath(path.join(scope.buildDir, props.stack.templateFile)),
87
78
  }),
88
79
  ...(props.manualApproval
89
80
  ? [
90
81
  new aws_codepipeline_actions_1.ManualApprovalAction({
91
82
  actionName: "ApproveChanges",
92
- runOrder: 4,
83
+ runOrder: buildArtifact ? 4 : 2,
93
84
  }),
94
85
  ]
95
86
  : []),
96
87
  new aws_codepipeline_actions_1.CloudFormationExecuteChangeSetAction({
97
88
  actionName: "ExecuteChanges",
98
- runOrder: props.manualApproval ? 5 : 4,
89
+ runOrder: props.manualApproval
90
+ ? buildArtifact
91
+ ? 5
92
+ : 3
93
+ : buildArtifact
94
+ ? 4
95
+ : 2,
99
96
  stackName: props.stackName ? props.stackName : props.stack.stackName,
100
97
  account: props.account,
101
98
  region: props.region,
@@ -112,5 +109,5 @@ class StackSegmentConstructed extends segment_1.SegmentConstructed {
112
109
  }
113
110
  exports.StackSegmentConstructed = StackSegmentConstructed;
114
111
  _b = JSII_RTTI_SYMBOL_1;
115
- StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "1.0.25" };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkRBTW1DO0FBRW5DLG1GQUs4QztBQUU5Qyw2QkFBNkI7QUFFN0IsbUVBQThEO0FBQzlELHlDQUFzQztBQUN0Qyx1Q0FBd0Q7QUF1RHhEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsaUJBQU87SUFHdkMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDdkIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFDckM7WUFDRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUFsQkgsb0NBbUJDOzs7QUFnQkQsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJN0QsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSwwQ0FBZSxDQUFDO2dCQUNsQixVQUFVLEVBQUUsT0FBTztnQkFDbkIsUUFBUSxFQUFF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QUssQ0FBQyxLQUFLLENBQUMsU0FBUyxTQUFTO2dCQUNoRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztvQkFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjO29CQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07d0JBQ1osQ0FBQyxDQUFDLGVBQWU7d0JBQ2pCLENBQUMsQ0FBQyxTQUFTO2FBQ2hCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUE1RkgsMERBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSxcbiAgQnVpbGRTcGVjLFxuICBDb21wdXRlVHlwZSxcbiAgTGludXhCdWlsZEltYWdlLFxuICBQcm9qZWN0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24sXG4gIENsb3VkRm9ybWF0aW9uRXhlY3V0ZUNoYW5nZVNldEFjdGlvbixcbiAgQ29kZUJ1aWxkQWN0aW9uLFxuICBNYW51YWxBcHByb3ZhbEFjdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiO1xuaW1wb3J0IHsgSVJvbGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBQdWJsaXNoQXNzZXRzQWN0aW9uIH0gZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50Q29uc3RydWN0ZWQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5pbXBvcnQgeyBQaXBlbGluZSB9IGZyb20gXCIuL3BpcGVsaW5lXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIHN0YWNrIHRvIGJlIGRlcGxveWVkIGluIHRoaXMgc2VnbWVudC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBhcmZpZmFjdCBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ6IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcbiAgLyoqXG4gICAqIFRoZSBjb21tYW5kKHMpIHRvIGJ1aWxkIHRoZSBzdGFjay5cbiAgICogQGV4YW1wbGUgXCJjZGsgc3ludGggU3RhY2tOYW1lIC0tc3RyaWN0IC0tZXhjbHVzaXZlbHlcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IElSb2xlO1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50YWwgdmFyaWFibGVzIGZvciB0aGUgYnVpbGQgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudFZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlIH07XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2sgdG8gZGVwbG95IHRoZSBjaGFuZ2VzIHRvLlxuICAgKiBAZGVhZnVsdCBUaGUgbmFtZSBvZiB0aGUgZ2l2ZW4gc3RhY2suXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgdGhpcyBBY3Rpb24gaXMgc3VwcG9zZWQgdG8gb3BlcmF0ZSBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiB0aGUgZ2l2ZW4gQWN0aW9uIHJlc2lkZXMgaW4uXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYXJ0aWZhY3QgdG8gaG9sZCB0aGUgc3RhY2sgZGVwbG95bWVudCBvdXRwdXQgZmlsZS5cbiAgICogQGRlZmF1bHQgbm8gb3V0cHV0IGFydGlmYWN0XG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgLyoqXG4gICAqIFRoZSBmaWxlbmFtZSBmb3IgdGhlIGZpbGUgaW4gdGhlIG91dHB1dCBhcnRpZmFjdFxuICAgKiBAZGVmYXVsdCBhcnRpZmFjdC5qc29uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRGaWxlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERvZXMgdGhpcyBzdGFnZSByZXF1aXJlIG1hbnVhbCBhcHByb3ZhbCBvZiB0aGUgY2hhbmdlIHNldD9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgU2VnbWVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNrU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBwcm9wczogU3RhY2tTZWdtZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0YWNrU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIGNvbnN0cnVjdChzY29wZTogUGlwZWxpbmUpOiBTZWdtZW50Q29uc3RydWN0ZWQge1xuICAgIHJldHVybiBuZXcgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQoXG4gICAgICBzY29wZSxcbiAgICAgIGBEZXBsb3kke3RoaXMucHJvcHMuc3RhY2suc3RhY2tOYW1lfWAsXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICAgIGlucHV0OiB0aGlzLmlucHV0c1swXSxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHRoaXMuaW5wdXRzLnNsaWNlKDEpLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgb3V0cHV0RmlsZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrU2VnbWVudENvbnN0cnVjdGVkIGV4dGVuZHMgU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhY3Rpb25zOiBJQWN0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IFBpcGVsaW5lLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFN0YWNrU2VnbWVudENvbnN0cnVjdGVkUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLm5hbWUgPSBwcm9wcy5zdGFjay5zdGFja05hbWU7XG5cbiAgICBjb25zdCBidWlsZEFydGlmYWN0ID0gbmV3IEFydGlmYWN0KCk7XG5cbiAgICB0aGlzLmFjdGlvbnMgPSBbXG4gICAgICBuZXcgQ29kZUJ1aWxkQWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJCdWlsZFwiLFxuICAgICAgICBydW5PcmRlcjogMSxcbiAgICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgICBleHRyYUlucHV0czogcHJvcHMuZXh0cmFJbnB1dHMsXG4gICAgICAgIG91dHB1dHM6IFtidWlsZEFydGlmYWN0XSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLFxuICAgICAgICBwcm9qZWN0OiBuZXcgUHJvamVjdCh0aGlzLCBcIlVwZGF0ZUNvZGVCdWlsZFwiLCB7XG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAgIGNvbXB1dGVUeXBlOiBDb21wdXRlVHlwZS5NRURJVU0sXG4gICAgICAgICAgICBidWlsZEltYWdlOiBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfNSxcbiAgICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBidWlsZFNwZWM6IEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcbiAgICAgICAgICAgIHZlcnNpb246IFwiMC4yXCIsXG4gICAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgICAgaW5zdGFsbDoge1xuICAgICAgICAgICAgICAgIFwicnVudGltZS12ZXJzaW9uc1wiOiB7XG4gICAgICAgICAgICAgICAgICBub2RlanM6IFwibGF0ZXN0XCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogW1wibiAxOC4xOC4yXCIsIFwibnBtIGkgLWcgbnBtQGxhdGVzdFwiLCBcIm5wbSBjaVwiXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICAgICAgICBjb21tYW5kczogcHJvcHMuY29tbWFuZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICAgICAgZmlsZXM6IFtwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIFwiKiovKlwiKV0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2FjaGU6IHtcbiAgICAgICAgICAgICAgcGF0aHM6IFtcIi9yb290Ly5ucG0vKiovKlwiXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgICBuZXcgUHVibGlzaEFzc2V0c0FjdGlvbih0aGlzLCBcIlB1Ymxpc2hBc3NldHNcIiwge1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlB1Ymxpc2hBc3NldHNcIixcbiAgICAgICAgcnVuT3JkZXI6IDIsXG4gICAgICAgIGlucHV0OiBidWlsZEFydGlmYWN0LFxuICAgICAgICBtYW5pZmVzdFBhdGg6IHNjb3BlLmJ1aWxkRGlyLFxuICAgICAgfSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25DcmVhdGVSZXBsYWNlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJQcmVwYXJlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogMyxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFja05hbWUgPyBwcm9wcy5zdGFja05hbWUgOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGFjY291bnQ6IHByb3BzLmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9Q2hhbmdlc2AsXG4gICAgICAgIGFkbWluUGVybWlzc2lvbnM6IHRydWUsXG4gICAgICAgIHRlbXBsYXRlUGF0aDogYnVpbGRBcnRpZmFjdC5hdFBhdGgoXG4gICAgICAgICAgcGF0aC5qb2luKHNjb3BlLmJ1aWxkRGlyLCBwcm9wcy5zdGFjay50ZW1wbGF0ZUZpbGUpLFxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgICAuLi4ocHJvcHMubWFudWFsQXBwcm92YWxcbiAgICAgICAgPyBbXG4gICAgICAgICAgICBuZXcgTWFudWFsQXBwcm92YWxBY3Rpb24oe1xuICAgICAgICAgICAgICBhY3Rpb25OYW1lOiBcIkFwcHJvdmVDaGFuZ2VzXCIsXG4gICAgICAgICAgICAgIHJ1bk9yZGVyOiA0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkV4ZWN1dGVDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIkV4ZWN1dGVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiBwcm9wcy5tYW51YWxBcHByb3ZhbCA/IDUgOiA0LFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgb3V0cHV0OiBwcm9wcy5vdXRwdXQsXG4gICAgICAgIG91dHB1dEZpbGVOYW1lOiBwcm9wcy5vdXRwdXRGaWxlTmFtZVxuICAgICAgICAgID8gcHJvcHMub3V0cHV0RmlsZU5hbWVcbiAgICAgICAgICA6IHByb3BzLm91dHB1dFxuICAgICAgICAgICAgPyBgYXJ0aWZhY3QuanNvbmBcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgXTtcbiAgfVxufVxuIl19
112
+ StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "1.0.26" };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkRBTW1DO0FBRW5DLG1GQUs4QztBQUU5Qyw2QkFBNkI7QUFFN0IseUNBQXNDO0FBQ3RDLHVDQUF3RDtBQUV4RCxtRUFBOEQ7QUFzRDlEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsaUJBQU87SUFHdkMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDdkIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFDckM7WUFDRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUFsQkgsb0NBbUJDOzs7QUFnQkQsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJN0QsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWpFLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFH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d0JBQ2IsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDcEUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxTQUFTO2dCQUNoRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztvQkFDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjO29CQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07d0JBQ1osQ0FBQyxDQUFDLGVBQWU7d0JBQ2pCLENBQUMsQ0FBQyxTQUFTO2FBQ2hCLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUE1RkgsMERBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSxcbiAgQnVpbGRTcGVjLFxuICBtZXJnZUJ1aWxkU3BlY3MsXG4gIFByb2plY3QsXG4gIFByb2plY3RQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIjtcbmltcG9ydCB7IElBY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiO1xuaW1wb3J0IHtcbiAgQ2xvdWRGb3JtYXRpb25DcmVhdGVSZXBsYWNlQ2hhbmdlU2V0QWN0aW9uLFxuICBDbG91ZEZvcm1hdGlvbkV4ZWN1dGVDaGFuZ2VTZXRBY3Rpb24sXG4gIENvZGVCdWlsZEFjdGlvbixcbiAgTWFudWFsQXBwcm92YWxBY3Rpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIjtcbmltcG9ydCB7IElSb2xlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgQXJ0aWZhY3QgfSBmcm9tIFwiLi9hcnRpZmFjdFwiO1xuaW1wb3J0IHsgU2VnbWVudCwgU2VnbWVudENvbnN0cnVjdGVkIH0gZnJvbSBcIi4vc2VnbWVudFwiO1xuaW1wb3J0IHsgUGlwZWxpbmUgfSBmcm9tIFwiLi9waXBlbGluZVwiO1xuaW1wb3J0IHsgUHVibGlzaEFzc2V0c0FjdGlvbiB9IGZyb20gXCIuL3B1Ymxpc2gtYXNzZXRzLWFjdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrU2VnbWVudFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFjayB0byBiZSBkZXBsb3llZCBpbiB0aGlzIHNlZ21lbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgYXJmaWZhY3QgZm9yIHRoZSBidWlsZCBzdGFnZS5cbiAgICovXG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZChzKSB0byBidWlsZCB0aGUgc3RhY2suXG4gICAqIEBleGFtcGxlIFwiY2RrIHN5bnRoIFN0YWNrTmFtZSAtLXN0cmljdCAtLWV4Y2x1c2l2ZWx5XCJcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBQcm9qZWN0UHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IElSb2xlO1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50YWwgdmFyaWFibGVzIGZvciB0aGUgYnVpbGQgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudFZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlIH07XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2sgdG8gZGVwbG95IHRoZSBjaGFuZ2VzIHRvLlxuICAgKiBAZGVhZnVsdCBUaGUgbmFtZSBvZiB0aGUgZ2l2ZW4gc3RhY2suXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgdGhpcyBBY3Rpb24gaXMgc3VwcG9zZWQgdG8gb3BlcmF0ZSBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiB0aGUgZ2l2ZW4gQWN0aW9uIHJlc2lkZXMgaW4uXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYXJ0aWZhY3QgdG8gaG9sZCB0aGUgc3RhY2sgZGVwbG95bWVudCBvdXRwdXQgZmlsZS5cbiAgICogQGRlZmF1bHQgbm8gb3V0cHV0IGFydGlmYWN0XG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgLyoqXG4gICAqIFRoZSBmaWxlbmFtZSBmb3IgdGhlIGZpbGUgaW4gdGhlIG91dHB1dCBhcnRpZmFjdFxuICAgKiBAZGVmYXVsdCBhcnRpZmFjdC5qc29uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRGaWxlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERvZXMgdGhpcyBzdGFnZSByZXF1aXJlIG1hbnVhbCBhcHByb3ZhbCBvZiB0aGUgY2hhbmdlIHNldD9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgU2VnbWVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWNrU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBwcm9wczogU3RhY2tTZWdtZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0YWNrU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIGNvbnN0cnVjdChzY29wZTogUGlwZWxpbmUpOiBTZWdtZW50Q29uc3RydWN0ZWQge1xuICAgIHJldHVybiBuZXcgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQoXG4gICAgICBzY29wZSxcbiAgICAgIGBEZXBsb3kke3RoaXMucHJvcHMuc3RhY2suc3RhY2tOYW1lfWAsXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICAgIGlucHV0OiB0aGlzLmlucHV0c1swXSxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHRoaXMuaW5wdXRzLnNsaWNlKDEpLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgcHJvamVjdD86IFByb2plY3RQcm9wcztcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuICByZWFkb25seSBzdGFja05hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5wdXQ6IEFydGlmYWN0O1xuICByZWFkb25seSBleHRyYUlucHV0cz86IEFydGlmYWN0W107XG4gIHJlYWRvbmx5IG91dHB1dD86IEFydGlmYWN0O1xuICByZWFkb25seSBvdXRwdXRGaWxlTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogUGlwZWxpbmUsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMubmFtZSA9IHByb3BzLnN0YWNrLnN0YWNrTmFtZTtcblxuICAgIGNvbnN0IGJ1aWxkQXJ0aWZhY3QgPSBwcm9wcy5wcm9qZWN0ID8gbmV3IEFydGlmYWN0KCkgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmFjdGlvbnMgPSBbXG4gICAgICAuLi4oYnVpbGRBcnRpZmFjdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIG5ldyBDb2RlQnVpbGRBY3Rpb24oe1xuICAgICAgICAgICAgICBhY3Rpb25OYW1lOiBcIkJ1aWxkXCIsXG4gICAgICAgICAgICAgIHJ1bk9yZGVyOiAxLFxuICAgICAgICAgICAgICBpbnB1dDogcHJvcHMuaW5wdXQsXG4gICAgICAgICAgICAgIGV4dHJhSW5wdXRzOiBwcm9wcy5leHRyYUlucHV0cyxcbiAgICAgICAgICAgICAgb3V0cHV0czogW2J1aWxkQXJ0aWZhY3RdLFxuICAgICAgICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczogcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgICAgICAgIHByb2plY3Q6IG5ldyBQcm9qZWN0KHRoaXMsIFwiVXBkYXRlQ29kZUJ1aWxkXCIsIHtcbiAgICAgICAgICAgICAgICAuLi5wcm9wcy5wcm9qZWN0LFxuICAgICAgICAgICAgICAgIGJ1aWxkU3BlYzogcHJvcHMucHJvamVjdD8uYnVpbGRTcGVjXG4gICAgICAgICAgICAgICAgICA/IG1lcmdlQnVpbGRTcGVjcyhcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5wcm9qZWN0LmJ1aWxkU3BlYyxcbiAgICAgICAgICAgICAgICAgICAgICBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXM6IFtwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIFwiKiovKlwiKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICA6IEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcbiAgICAgICAgICAgICAgICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzOiBbcGF0aC5qb2luKHNjb3BlLmJ1aWxkRGlyLCBcIioqLypcIildLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IFB1Ymxpc2hBc3NldHNBY3Rpb24odGhpcywgXCJQdWJsaXNoQXNzZXRzXCIsIHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJQdWJsaXNoQXNzZXRzXCIsXG4gICAgICAgICAgICAgIHJ1bk9yZGVyOiAyLFxuICAgICAgICAgICAgICBpbnB1dDogYnVpbGRBcnRpZmFjdCxcbiAgICAgICAgICAgICAgbWFuaWZlc3RQYXRoOiBzY29wZS5idWlsZERpcixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25DcmVhdGVSZXBsYWNlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJQcmVwYXJlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogYnVpbGRBcnRpZmFjdCA/IDMgOiAxLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgYWRtaW5QZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgdGVtcGxhdGVQYXRoOiAoYnVpbGRBcnRpZmFjdCA/IGJ1aWxkQXJ0aWZhY3QgOiBwcm9wcy5pbnB1dCkuYXRQYXRoKFxuICAgICAgICAgIHBhdGguam9pbihzY29wZS5idWlsZERpciwgcHJvcHMuc3RhY2sudGVtcGxhdGVGaWxlKSxcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogYnVpbGRBcnRpZmFjdCA/IDQgOiAyLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkV4ZWN1dGVDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIkV4ZWN1dGVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiBwcm9wcy5tYW51YWxBcHByb3ZhbFxuICAgICAgICAgID8gYnVpbGRBcnRpZmFjdFxuICAgICAgICAgICAgPyA1XG4gICAgICAgICAgICA6IDNcbiAgICAgICAgICA6IGJ1aWxkQXJ0aWZhY3RcbiAgICAgICAgICAgID8gNFxuICAgICAgICAgICAgOiAyLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgb3V0cHV0OiBwcm9wcy5vdXRwdXQsXG4gICAgICAgIG91dHB1dEZpbGVOYW1lOiBwcm9wcy5vdXRwdXRGaWxlTmFtZVxuICAgICAgICAgID8gcHJvcHMub3V0cHV0RmlsZU5hbWVcbiAgICAgICAgICA6IHByb3BzLm91dHB1dFxuICAgICAgICAgICAgPyBgYXJ0aWZhY3QuanNvbmBcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgXTtcbiAgfVxufVxuIl19