@liflig/cdk 2.21.1 → 2.21.3

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/README.md CHANGED
@@ -32,18 +32,34 @@ are not yet resolved. Some relevant information:
32
32
 
33
33
  ## Testing library changes before releasing
34
34
 
35
- 1. Assemble artifact
35
+ ### Alternative 1: Install liflig-cdk from tarball
36
+
37
+ 1. Assemble artifact, which emits a tarball
36
38
 
37
39
  ```bash
38
40
  npm pack
39
41
  ```
40
42
 
41
- Install the library in an application
43
+ 2. Install the library in an application from a tarball
42
44
 
43
45
  ```bash
44
46
  npm install /path/to/liflig-cdk/liflig-cdk-0.0.0-development.tgz
45
47
  ```
46
48
 
49
+ ### Alternative 2: Install liflig-cdk from a Git branch
50
+
51
+ 1. Navigate to the project where you want to test the changes
52
+
53
+ ```bash
54
+ cd /path/to/other/project
55
+ ```
56
+
57
+ 2. Install the library in an application from a Git branch
58
+
59
+ ```bash
60
+ npm install "https://github.com/capralifecycle/liflig-cdk.git#my-feature-branch"
61
+ ```
62
+
47
63
  Note: `npm link` cannot be used, since it will lead to multiple
48
64
  declarations of the same classes from CDK, breaking the `instanceof`
49
65
  operator.
@@ -8,8 +8,7 @@ const lambda = require("aws-cdk-lib/aws-lambda");
8
8
  const s3 = require("aws-cdk-lib/aws-s3");
9
9
  const cdk = require("aws-cdk-lib");
10
10
  const secretsmanager = require("aws-cdk-lib/aws-secretsmanager");
11
- const start_deploy_handler_1 = require("./start-deploy-handler");
12
- const status_handler_1 = require("./status-handler");
11
+ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
13
12
  /**
14
13
  * This construct is responsible for the privileges and logic of
15
14
  * automatically deploying stack resources in an account.
@@ -121,11 +120,11 @@ class CdkDeploy extends constructs.Construct {
121
120
  artifactsBucket.grantRead(codebuildProject);
122
121
  cloudFormationRole.grantPassRole(codebuildProject.role);
123
122
  codebuildBucket.grantReadWrite(codebuildProject);
124
- const startDeployFn = new lambda.Function(this, "StartDeployFunction", {
125
- code: new lambda.InlineCode(`exports.handler = ${start_deploy_handler_1.startDeployHandler.toString()};`),
126
- runtime: lambda.Runtime.NODEJS_16_X,
127
- handler: "index.handler",
123
+ const startDeployFn = new aws_lambda_nodejs_1.NodejsFunction(this, "StartDeployFunction", {
124
+ entry: require.resolve("./start-deploy-handler"),
125
+ runtime: lambda.Runtime.NODEJS_18_X,
128
126
  functionName: props.startDeployFunctionName,
127
+ awsSdkConnectionReuse: false,
129
128
  environment: {
130
129
  PROJECT_NAME: codebuildProject.projectName,
131
130
  BUCKET_NAME: codebuildBucket.bucketName,
@@ -139,11 +138,11 @@ class CdkDeploy extends constructs.Construct {
139
138
  actions: ["codebuild:StartBuild", "codebuild:BatchGetBuilds"],
140
139
  resources: [codebuildProject.projectArn],
141
140
  }));
142
- const statusFn = new lambda.Function(this, "StatusFunction", {
143
- code: new lambda.InlineCode(`exports.handler = ${status_handler_1.statusHandler.toString()};`),
144
- runtime: lambda.Runtime.NODEJS_16_X,
145
- handler: "index.handler",
141
+ const statusFn = new aws_lambda_nodejs_1.NodejsFunction(this, "StatusFunction", {
142
+ entry: require.resolve("./status-handler"),
143
+ runtime: lambda.Runtime.NODEJS_18_X,
146
144
  functionName: props.statusFunctionName,
145
+ awsSdkConnectionReuse: false,
147
146
  environment: {
148
147
  PROJECT_NAME: codebuildProject.projectName,
149
148
  },
@@ -172,4 +171,4 @@ class CdkDeploy extends constructs.Construct {
172
171
  }
173
172
  }
174
173
  exports.CdkDeploy = CdkDeploy;
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstZGVwbG95L2Nkay1kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLHVEQUFzRDtBQUN0RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBQ2hELHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsaUVBQWdFO0FBQ2hFLGlFQUEyRDtBQUMzRCxxREFBZ0Q7QUF5Q2hEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFhLFNBQVUsU0FBUSxVQUFVLENBQUMsU0FBUztJQUNqRCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQVk7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFDMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFBO1FBRXhDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUM5QyxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQyxtQkFBbUIsQ0FDMUIsQ0FBQTtRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2pELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7U0FDckQsQ0FBQyxDQUFBO1FBRUYsc0NBQXNDO1FBQ3RDLGdEQUFnRDtRQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLHVCQUF1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LENBQUM7Q0FDRjtBQXhMRCw4QkF3TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCB7IHN0YXJ0RGVwbG95SGFuZGxlciB9IGZyb20gXCIuL3N0YXJ0LWRlcGxveS1oYW5kbGVyXCJcbmltcG9ydCB7IHN0YXR1c0hhbmRsZXIgfSBmcm9tIFwiLi9zdGF0dXMtaGFuZGxlclwiXG5cbmludGVyZmFjZSBQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gYXNzdW1lIHRoZSBkZXBsb3lcbiAgICogcm9sZS4gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUuXG4gICAqL1xuICBjYWxsZXJSb2xlQXJuOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGVwbG95IHJvbGUuIFRoaXMgaXMgdGhlIHJvbGVcbiAgICogdGhhdCB0aGUgY2FsbGVyIHdpbGwgYXNzdW1lIGluIG9yZGVyIHRvIGhhdmUgcGVybWlzc2lvbiB0byBpbnZva2VcbiAgICogdGhlIExhbWJkYSBGdW5jdGlvbnMuXG4gICAqL1xuICByb2xlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHVzZWQgZm9yIHN0b3JpbmcgYXJ0aWZhY3RzLiBUaGlzIGlzIHVzZWQgdG8gZ3JhbnRcbiAgICogcGVybWlzc2lvbiB0byB0aGUgcm9sZSB0byByZWFkIGFydGlmYWN0LiBJZiB0aGUgYnVja2V0IGlzIGluXG4gICAqIGFub3RoZXIgYWNjb3VudCwgaXQgbXVzdCBoYXZlIGEgcG9saWN5IHdoaWNoIGFsbG93cyB0aGUgdGFyZ2V0XG4gICAqIGFjY291bnQgdG8gdXNlIElBTSBwZXJtaXNzaW9ucyBmcm9tIHRhcmdldCBhY2NvdW50LlxuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0TmFtZTogc3RyaW5nXG4gIHN0YXJ0RGVwbG95RnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgc3RhdHVzRnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIHN0YWNrIG5hbWUgdXNlZCB3aXRoIGBjZGsgYm9vdHN0cmFwYCBhbmQgY2FuIGVcbiAgICogZm91bmQgaW4gY2RrLmpzb24gYXMgXCJ0b29sa2l0U3RhY2tOYW1lXCIuXG4gICAqL1xuICBjZGtUb29sa2l0U3RhY2tOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdlIHBhc3MgdGhlIENESyBjb250ZXh0IHZhbHVlcyBhcyB0aGV5IGNvbnRhaW4gZmVhdHVyZSBmbGFnc1xuICAgKiB1c2VkIGJ5IHRoZSBDREsgQ0xJLlxuICAgKi9cbiAgY2RrQ29udGV4dDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChvciBhY2Nlc3MgdG9rZW4pXG4gICAqIGZvciBhIHZhbGlkIGRvY2tlciB1c2VyLiBUaGlzIGlzIHVzZWQgdG8gYWNjZXNzIHByaXZhdGVcbiAgICogcmVwb3NpdG9yaWVzIG9yIHRvIGhhbmRsZSBkb2NrZXIgaHViJ3MgcHVsbCByYXRlIGxpbWl0aW5nLlxuICAgKi9cbiAgZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lPzogc3RyaW5nXG59XG5cbi8qKlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcml2aWxlZ2VzIGFuZCBsb2dpYyBvZlxuICogYXV0b21hdGljYWxseSBkZXBsb3lpbmcgc3RhY2sgcmVzb3VyY2VzIGluIGFuIGFjY291bnQuXG4gKiBJdHMgcmVzb3VyY2VzIGFyZSB1c2VkIGZyb20gYSBkZXBsb3ltZW50IHBpcGVsaW5lLlxuICpcbiAqIFRoZSBkZXBsb3ltZW50IGlzIHBlcmZvcm1lZCBieSBpbnZva2luZyB0aGUgXCJzdGFydCBkZXBsb3lcIlxuICogbGFtYmRhIHdpdGggZGV0YWlscyBvZiB3aGF0IHNob3VsZCBiZSBkZXBsb3llZC4gQXMgdGhpcyBpc1xuICogcmVzcG9uc2libGUgZm9yIGRlcGxveWluZyBpbmZyYXN0cnVjdHVyZSwgdGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogbWlnaHQgYmUgYWJsZSB0byBjYXVzZSBwcml2aWxlZ2UgZXNjYWxhdGlvbi4gVGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogc2hvdWxkIGJlIGFzc3VtZWQgdG8gaGF2ZSBmdWxsIGFkbWluaXN0cmF0b3IgYWNjZXNzLlxuICpcbiAqIFRoZSBwcm9jZXNzIGRlcGxveWluZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgaXMgbG9ja2VkIGRvd24gc28gdGhpc1xuICogaXMgb25seSBwb3NzaWJseSBieSBkZXBsb3ltZW50IHRocm91Z2ggQ2xvdWRGb3JtYXRpb24sIGFuZCBhc1xuICogc3VjaCByZW1vdmVzIGEgbG90IG9mIHBvc3NpYmxlIGVzY2FsYXRpb24gcGF0aHMgKGUuZy4gbm8gcm9sZVxuICogY2FuIGJlIGNyZWF0ZWQgYnkgZGlyZWN0IEFQSSBjYWxsKS5cbiAqXG4gKiBUaGUgXCJzdGF0dXNcIiBsYW1iZGEgY2FuIGJlIHVzZWQgdG8gcG9sbCBmb3IgY29tcGxldGlvbiwgYW5kIHdpbGxcbiAqIGFsc28gcmV0dXJuIGxvZ3MgZnJvbSB0aGUgam9iIHVwb24gY29tcGxldGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uXG5cbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJBcnRpZmFjdHNCdWNrZXRcIixcbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldE5hbWUsXG4gICAgKVxuXG4gICAgY29uc3Qgcm9sZVRvQmVBc3N1bWVkID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiUm9sZVwiLCB7XG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKHByb3BzLmNhbGxlclJvbGVBcm4pLFxuICAgIH0pXG5cbiAgICAvLyBCdWNrZWQgdXNlZCBmb3IgaW5wdXQgdG8gQ29kZUJ1aWxkLlxuICAgIC8vIFdlIGxldCBDbG91ZEZvcm1hdGlvbiBtYW5hZ2UgdGhlIGJ1Y2tldCBuYW1lLlxuICAgIGNvbnN0IGNvZGVidWlsZEJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJDb2RlYnVpbGRTb3VyY2VCdWNrZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cyg1KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFRoZSByb2xlIHVzZWQgZm9yIENsb3VkRm9ybWF0aW9uIGRlcGxveW1lbnQuXG4gICAgY29uc3QgY2xvdWRGb3JtYXRpb25Sb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2xvdWRGb3JtYXRpb25Sb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAvLyBUT0RPOiBDYW4gd2UgcmVzdHJpY3QgdGhpcyBhIGJpdCBtb3JlPyBFLmcuIGxvb2sgaW50byBob3cgR3JpaWQgaGFzXG4gICAgICAgIC8vICBsaW1pdGVkIHdoYXQgdGhlIGluZGl2aWR1YWwgc3RhY2sgZGVwbG95bWVudHMgaGF2ZSBwZXJtaXNzaW9ucyB0byBkby5cbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQWRtaW5pc3RyYXRvckFjY2Vzc1wiKSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFJlcGxhY2UgQ29kZUJ1aWxkIHdpdGggRUNTIHRhc2s/XG4gICAgLy8gU2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYmxvZ3MvZGV2b3BzL3VzaW5nLWF3cy1jb2RlYnVpbGQtdG8tZXhlY3V0ZS1hZG1pbmlzdHJhdGl2ZS10YXNrcy9cbiAgICBjb25zdCBjb2RlYnVpbGRQcm9qZWN0ID0gbmV3IGNvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiQ29kZWJ1aWxkUHJvamVjdFwiLCB7XG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOlxuICAgICAgICAgIHByb3BzLmRvY2tlckNyZWRlbnRpYWxzU2VjcmV0TmFtZSA9PSBudWxsXG4gICAgICAgICAgICA/IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KFwibm9kZToxNlwiKVxuICAgICAgICAgICAgOiBjb2RlYnVpbGQuTGludXhCdWlsZEltYWdlLmZyb21Eb2NrZXJSZWdpc3RyeShcIm5vZGU6MTZcIiwge1xuICAgICAgICAgICAgICAgIHNlY3JldHNNYW5hZ2VyQ3JlZGVudGlhbHM6XG4gICAgICAgICAgICAgICAgICBzZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldE5hbWVWMihcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgXCJkb2NrZXJDcmVkZW50aWFsc1NlY3JldE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfUk9MRV9BUk46IGNsb3VkRm9ybWF0aW9uUm9sZS5yb2xlQXJuLFxuICAgICAgICAgICAgQ0RLX1RPT0xLSVRfU1RBQ0tfTkFNRTogcHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgXCJucG0gaW5zdGFsbCAtZyBhd3MtY2RrXCIsXG4gICAgICAgICAgICAgICdjZGsgLS1hcHAgXCIkQ09ERUJVSUxEX1NSQ19ESVJfQ0xPVURBU1NFTUJMWVwiIC0tcm9sZS1hcm4gXCIkQ0RLX0RFUExPWV9ST0xFX0FSTlwiIC0tdG9vbGtpdC1zdGFjay1uYW1lIFwiJENES19UT09MS0lUX1NUQUNLX05BTUVcIiAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95IC0tZXhjbHVzaXZlbHkgJChjYXQgc3RhY2stbmFtZXMudHh0KScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5ob3Vycyg0KSxcbiAgICB9KVxuXG4gICAgLy8gR3JhbnQgYWNjZXNzIHRvIENsb3VkRm9ybWF0aW9uLlxuICAgIGNvZGVidWlsZFByb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgLy8gRm9yIGRpZmYuXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrc1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGVcIixcbiAgICAgICAgICAvLyBGb3IgZGVwbG95LlxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0XCIsXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZWxldGVTdGFja1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkV4ZWN1dGVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHNcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldFwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICAvLyBHcmFudCBhY2Nlc3MgdG8gdGhlIENESyBUb29sa2l0IGJ1Y2tldC5cbiAgICBjb2RlYnVpbGRQcm9qZWN0LmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwiczM6R2V0T2JqZWN0KlwiLFxuICAgICAgICAgIFwiczM6R2V0QnVja2V0KlwiLFxuICAgICAgICAgIFwiczM6TGlzdCpcIixcbiAgICAgICAgICBcInMzOlB1dE9iamVjdCpcIixcbiAgICAgICAgICBcInMzOkFib3J0KlwiLFxuICAgICAgICAgIFwiczM6RGVsZXRlT2JqZWN0KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7cHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZS50b0xvd2VyQ2FzZSgpfS1zdGFnaW5nYnVja2V0LSpgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgYXJ0aWZhY3RzQnVja2V0LmdyYW50UmVhZChjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY2xvdWRGb3JtYXRpb25Sb2xlLmdyYW50UGFzc1JvbGUoY29kZWJ1aWxkUHJvamVjdC5yb2xlISlcblxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY29uc3Qgc3RhcnREZXBsb3lGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJTdGFydERlcGxveUZ1bmN0aW9uXCIsIHtcbiAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7c3RhcnREZXBsb3lIYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICApLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuc3RhcnREZXBsb3lGdW5jdGlvbk5hbWUsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBQUk9KRUNUX05BTUU6IGNvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWUsXG4gICAgICAgIEJVQ0tFVF9OQU1FOiBjb2RlYnVpbGRCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgQ0RLX0NPTlRFWFQ6IEpTT04uc3RyaW5naWZ5KHByb3BzLmNka0NvbnRleHQpLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICB9KVxuXG4gICAgc3RhcnREZXBsb3lGbi5ncmFudEludm9rZShyb2xlVG9CZUFzc3VtZWQpXG4gICAgY29kZWJ1aWxkQnVja2V0LmdyYW50UmVhZFdyaXRlKHN0YXJ0RGVwbG95Rm4pXG5cbiAgICBzdGFydERlcGxveUZuLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wiY29kZWJ1aWxkOlN0YXJ0QnVpbGRcIiwgXCJjb2RlYnVpbGQ6QmF0Y2hHZXRCdWlsZHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW2NvZGVidWlsZFByb2plY3QucHJvamVjdEFybl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjb25zdCBzdGF0dXNGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJTdGF0dXNGdW5jdGlvblwiLCB7XG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3N0YXR1c0hhbmRsZXIudG9TdHJpbmcoKX07YCxcbiAgICAgICksXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTZfWCxcbiAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5zdGF0dXNGdW5jdGlvbk5hbWUsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBQUk9KRUNUX05BTUU6IGNvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWUsXG4gICAgICB9LFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgIH0pXG5cbiAgICBzdGF0dXNGbi5ncmFudEludm9rZShyb2xlVG9CZUFzc3VtZWQpXG5cbiAgICBzdGF0dXNGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImNvZGVidWlsZDpCYXRjaEdldEJ1aWxkc1wiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbY29kZWJ1aWxkUHJvamVjdC5wcm9qZWN0QXJuXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIHN0YXR1c0ZuLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wibG9nczpHZXRMb2dFdmVudHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIGBhcm46YXdzOmxvZ3M6JHtyZWdpb259OiR7YWNjb3VudH06bG9nLWdyb3VwOi9hd3MvY29kZWJ1aWxkLyR7Y29kZWJ1aWxkUHJvamVjdC5wcm9qZWN0TmFtZX06bG9nLXN0cmVhbToqYCxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIClcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiUm9sZVRvQmVBc3N1bWVkQXJuXCIsIHtcbiAgICAgIHZhbHVlOiByb2xlVG9CZUFzc3VtZWQucm9sZUFybixcbiAgICB9KVxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiU3RhdHVzRnVuY3Rpb25Bcm5cIiwge1xuICAgICAgdmFsdWU6IHN0YXR1c0ZuLmZ1bmN0aW9uQXJuLFxuICAgIH0pXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJTdGFydERlcGxveUZ1bmN0aW9uQXJuXCIsIHtcbiAgICAgIHZhbHVlOiBzdGFydERlcGxveUZuLmZ1bmN0aW9uQXJuLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstZGVwbG95L2Nkay1kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLHVEQUFzRDtBQUN0RCwyQ0FBMEM7QUFDMUMsaURBQWdEO0FBQ2hELHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsaUVBQWdFO0FBQ2hFLHFFQUE4RDtBQXlDOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQWEsU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2pELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFeEMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQzlDLElBQUksRUFDSixpQkFBaUIsRUFDakIsS0FBSyxDQUFDLG1CQUFtQixDQUMxQixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDakQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztTQUNyRCxDQUFDLENBQUE7UUFFRixzQ0FBc0M7UUFDdEMsZ0RBQWdEO1FBQ2hELE1BQU0sZUFBZSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDbkUs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QUFFLEtBQUs7WUFDNUIsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO2FBQzNDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUNsQyxDQUFDLENBQUE7UUFFRixRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBRXJDLFFBQVEsQ0FBQyxlQUFlLENBQ3RCLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztZQUNyQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7U0FDekMsQ0FBQyxDQUNILENBQUE7UUFFRCxRQUFRLENBQUMsZUFBZSxDQUN0QixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQixNQUFNLElBQUksT0FBTyw2QkFBNkIsZ0JBQWdCLENBQUMsV0FBVyxlQUFlO2FBQzFHO1NBQ0YsQ0FBQyxDQUNILENBQUE7UUFFRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzVDLEtBQUssRUFBRSxlQUFlLENBQUMsT0FBTztTQUMvQixDQUFDLENBQUE7UUFDRixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzNDLEtBQUssRUFBRSxRQUFRLENBQUMsV0FBVztTQUM1QixDQUFDLENBQUE7UUFDRixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ2hELEtBQUssRUFBRSxhQUFhLENBQUMsV0FBVztTQUNqQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFwTEQsOEJBb0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjb2RlYnVpbGQgZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgc2VjcmV0c21hbmFnZXIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiXG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLW5vZGVqc1wiXG5cbmludGVyZmFjZSBQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gYXNzdW1lIHRoZSBkZXBsb3lcbiAgICogcm9sZS4gVGhpcyByb2xlIG11c3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFzc3VtZSB0aGUgZGVwbG95IHJvbGUuXG4gICAqL1xuICBjYWxsZXJSb2xlQXJuOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0aGUgZGVwbG95IHJvbGUuIFRoaXMgaXMgdGhlIHJvbGVcbiAgICogdGhhdCB0aGUgY2FsbGVyIHdpbGwgYXNzdW1lIGluIG9yZGVyIHRvIGhhdmUgcGVybWlzc2lvbiB0byBpbnZva2VcbiAgICogdGhlIExhbWJkYSBGdW5jdGlvbnMuXG4gICAqL1xuICByb2xlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHVzZWQgZm9yIHN0b3JpbmcgYXJ0aWZhY3RzLiBUaGlzIGlzIHVzZWQgdG8gZ3JhbnRcbiAgICogcGVybWlzc2lvbiB0byB0aGUgcm9sZSB0byByZWFkIGFydGlmYWN0LiBJZiB0aGUgYnVja2V0IGlzIGluXG4gICAqIGFub3RoZXIgYWNjb3VudCwgaXQgbXVzdCBoYXZlIGEgcG9saWN5IHdoaWNoIGFsbG93cyB0aGUgdGFyZ2V0XG4gICAqIGFjY291bnQgdG8gdXNlIElBTSBwZXJtaXNzaW9ucyBmcm9tIHRhcmdldCBhY2NvdW50LlxuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0TmFtZTogc3RyaW5nXG4gIHN0YXJ0RGVwbG95RnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgc3RhdHVzRnVuY3Rpb25OYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIHN0YWNrIG5hbWUgdXNlZCB3aXRoIGBjZGsgYm9vdHN0cmFwYCBhbmQgY2FuIGVcbiAgICogZm91bmQgaW4gY2RrLmpzb24gYXMgXCJ0b29sa2l0U3RhY2tOYW1lXCIuXG4gICAqL1xuICBjZGtUb29sa2l0U3RhY2tOYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFdlIHBhc3MgdGhlIENESyBjb250ZXh0IHZhbHVlcyBhcyB0aGV5IGNvbnRhaW4gZmVhdHVyZSBmbGFnc1xuICAgKiB1c2VkIGJ5IHRoZSBDREsgQ0xJLlxuICAgKi9cbiAgY2RrQ29udGV4dDogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IGNvbnRhaW5pbmcgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChvciBhY2Nlc3MgdG9rZW4pXG4gICAqIGZvciBhIHZhbGlkIGRvY2tlciB1c2VyLiBUaGlzIGlzIHVzZWQgdG8gYWNjZXNzIHByaXZhdGVcbiAgICogcmVwb3NpdG9yaWVzIG9yIHRvIGhhbmRsZSBkb2NrZXIgaHViJ3MgcHVsbCByYXRlIGxpbWl0aW5nLlxuICAgKi9cbiAgZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lPzogc3RyaW5nXG59XG5cbi8qKlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBwcml2aWxlZ2VzIGFuZCBsb2dpYyBvZlxuICogYXV0b21hdGljYWxseSBkZXBsb3lpbmcgc3RhY2sgcmVzb3VyY2VzIGluIGFuIGFjY291bnQuXG4gKiBJdHMgcmVzb3VyY2VzIGFyZSB1c2VkIGZyb20gYSBkZXBsb3ltZW50IHBpcGVsaW5lLlxuICpcbiAqIFRoZSBkZXBsb3ltZW50IGlzIHBlcmZvcm1lZCBieSBpbnZva2luZyB0aGUgXCJzdGFydCBkZXBsb3lcIlxuICogbGFtYmRhIHdpdGggZGV0YWlscyBvZiB3aGF0IHNob3VsZCBiZSBkZXBsb3llZC4gQXMgdGhpcyBpc1xuICogcmVzcG9uc2libGUgZm9yIGRlcGxveWluZyBpbmZyYXN0cnVjdHVyZSwgdGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogbWlnaHQgYmUgYWJsZSB0byBjYXVzZSBwcml2aWxlZ2UgZXNjYWxhdGlvbi4gVGhlIHByaW5jaXBhbCBpbnZva2luZ1xuICogc2hvdWxkIGJlIGFzc3VtZWQgdG8gaGF2ZSBmdWxsIGFkbWluaXN0cmF0b3IgYWNjZXNzLlxuICpcbiAqIFRoZSBwcm9jZXNzIGRlcGxveWluZyB0aGUgaW5mcmFzdHJ1Y3R1cmUgaXMgbG9ja2VkIGRvd24gc28gdGhpc1xuICogaXMgb25seSBwb3NzaWJseSBieSBkZXBsb3ltZW50IHRocm91Z2ggQ2xvdWRGb3JtYXRpb24sIGFuZCBhc1xuICogc3VjaCByZW1vdmVzIGEgbG90IG9mIHBvc3NpYmxlIGVzY2FsYXRpb24gcGF0aHMgKGUuZy4gbm8gcm9sZVxuICogY2FuIGJlIGNyZWF0ZWQgYnkgZGlyZWN0IEFQSSBjYWxsKS5cbiAqXG4gKiBUaGUgXCJzdGF0dXNcIiBsYW1iZGEgY2FuIGJlIHVzZWQgdG8gcG9sbCBmb3IgY29tcGxldGlvbiwgYW5kIHdpbGxcbiAqIGFsc28gcmV0dXJuIGxvZ3MgZnJvbSB0aGUgam9iIHVwb24gY29tcGxldGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveSBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uXG5cbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUoXG4gICAgICB0aGlzLFxuICAgICAgXCJBcnRpZmFjdHNCdWNrZXRcIixcbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldE5hbWUsXG4gICAgKVxuXG4gICAgY29uc3Qgcm9sZVRvQmVBc3N1bWVkID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiUm9sZVwiLCB7XG4gICAgICByb2xlTmFtZTogcHJvcHMucm9sZU5hbWUsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQXJuUHJpbmNpcGFsKHByb3BzLmNhbGxlclJvbGVBcm4pLFxuICAgIH0pXG5cbiAgICAvLyBCdWNrZWQgdXNlZCBmb3IgaW5wdXQgdG8gQ29kZUJ1aWxkLlxuICAgIC8vIFdlIGxldCBDbG91ZEZvcm1hdGlvbiBtYW5hZ2UgdGhlIGJ1Y2tldCBuYW1lLlxuICAgIGNvbnN0IGNvZGVidWlsZEJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgXCJDb2RlYnVpbGRTb3VyY2VCdWNrZXRcIiwge1xuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBjZGsuRHVyYXRpb24uZGF5cyg1KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFRoZSByb2xlIHVzZWQgZm9yIENsb3VkRm9ybWF0aW9uIGRlcGxveW1lbnQuXG4gICAgY29uc3QgY2xvdWRGb3JtYXRpb25Sb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiQ2xvdWRGb3JtYXRpb25Sb2xlXCIsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY2xvdWRmb3JtYXRpb24uYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAvLyBUT0RPOiBDYW4gd2UgcmVzdHJpY3QgdGhpcyBhIGJpdCBtb3JlPyBFLmcuIGxvb2sgaW50byBob3cgR3JpaWQgaGFzXG4gICAgICAgIC8vICBsaW1pdGVkIHdoYXQgdGhlIGluZGl2aWR1YWwgc3RhY2sgZGVwbG95bWVudHMgaGF2ZSBwZXJtaXNzaW9ucyB0byBkby5cbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQWRtaW5pc3RyYXRvckFjY2Vzc1wiKSxcbiAgICAgIF0sXG4gICAgfSlcblxuICAgIC8vIFJlcGxhY2UgQ29kZUJ1aWxkIHdpdGggRUNTIHRhc2s/XG4gICAgLy8gU2VlIGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYmxvZ3MvZGV2b3BzL3VzaW5nLWF3cy1jb2RlYnVpbGQtdG8tZXhlY3V0ZS1hZG1pbmlzdHJhdGl2ZS10YXNrcy9cbiAgICBjb25zdCBjb2RlYnVpbGRQcm9qZWN0ID0gbmV3IGNvZGVidWlsZC5Qcm9qZWN0KHRoaXMsIFwiQ29kZWJ1aWxkUHJvamVjdFwiLCB7XG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBidWlsZEltYWdlOlxuICAgICAgICAgIHByb3BzLmRvY2tlckNyZWRlbnRpYWxzU2VjcmV0TmFtZSA9PSBudWxsXG4gICAgICAgICAgICA/IGNvZGVidWlsZC5MaW51eEJ1aWxkSW1hZ2UuZnJvbURvY2tlclJlZ2lzdHJ5KFwibm9kZToxNlwiKVxuICAgICAgICAgICAgOiBjb2RlYnVpbGQuTGludXhCdWlsZEltYWdlLmZyb21Eb2NrZXJSZWdpc3RyeShcIm5vZGU6MTZcIiwge1xuICAgICAgICAgICAgICAgIHNlY3JldHNNYW5hZ2VyQ3JlZGVudGlhbHM6XG4gICAgICAgICAgICAgICAgICBzZWNyZXRzbWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldE5hbWVWMihcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgXCJkb2NrZXJDcmVkZW50aWFsc1NlY3JldE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuZG9ja2VyQ3JlZGVudGlhbHNTZWNyZXROYW1lLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAgYnVpbGRTcGVjOiBjb2RlYnVpbGQuQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfUk9MRV9BUk46IGNsb3VkRm9ybWF0aW9uUm9sZS5yb2xlQXJuLFxuICAgICAgICAgICAgQ0RLX1RPT0xLSVRfU1RBQ0tfTkFNRTogcHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgXCJucG0gaW5zdGFsbCAtZyBhd3MtY2RrXCIsXG4gICAgICAgICAgICAgICdjZGsgLS1hcHAgXCIkQ09ERUJVSUxEX1NSQ19ESVJfQ0xPVURBU1NFTUJMWVwiIC0tcm9sZS1hcm4gXCIkQ0RLX0RFUExPWV9ST0xFX0FSTlwiIC0tdG9vbGtpdC1zdGFjay1uYW1lIFwiJENES19UT09MS0lUX1NUQUNLX05BTUVcIiAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgZGVwbG95IC0tZXhjbHVzaXZlbHkgJChjYXQgc3RhY2stbmFtZXMudHh0KScsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5ob3Vycyg0KSxcbiAgICB9KVxuXG4gICAgLy8gR3JhbnQgYWNjZXNzIHRvIENsb3VkRm9ybWF0aW9uLlxuICAgIGNvZGVidWlsZFByb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgLy8gRm9yIGRpZmYuXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrc1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGVcIixcbiAgICAgICAgICAvLyBGb3IgZGVwbG95LlxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0XCIsXG4gICAgICAgICAgXCJjbG91ZGZvcm1hdGlvbjpEZWxldGVTdGFja1wiLFxuICAgICAgICAgIFwiY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkV4ZWN1dGVDaGFuZ2VTZXRcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHNcIixcbiAgICAgICAgICBcImNsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldFwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICAvLyBHcmFudCBhY2Nlc3MgdG8gdGhlIENESyBUb29sa2l0IGJ1Y2tldC5cbiAgICBjb2RlYnVpbGRQcm9qZWN0LmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwiczM6R2V0T2JqZWN0KlwiLFxuICAgICAgICAgIFwiczM6R2V0QnVja2V0KlwiLFxuICAgICAgICAgIFwiczM6TGlzdCpcIixcbiAgICAgICAgICBcInMzOlB1dE9iamVjdCpcIixcbiAgICAgICAgICBcInMzOkFib3J0KlwiLFxuICAgICAgICAgIFwiczM6RGVsZXRlT2JqZWN0KlwiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7cHJvcHMuY2RrVG9vbGtpdFN0YWNrTmFtZS50b0xvd2VyQ2FzZSgpfS1zdGFnaW5nYnVja2V0LSpgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgYXJ0aWZhY3RzQnVja2V0LmdyYW50UmVhZChjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY2xvdWRGb3JtYXRpb25Sb2xlLmdyYW50UGFzc1JvbGUoY29kZWJ1aWxkUHJvamVjdC5yb2xlISlcblxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShjb2RlYnVpbGRQcm9qZWN0KVxuXG4gICAgY29uc3Qgc3RhcnREZXBsb3lGbiA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCBcIlN0YXJ0RGVwbG95RnVuY3Rpb25cIiwge1xuICAgICAgZW50cnk6IHJlcXVpcmUucmVzb2x2ZShcIi4vc3RhcnQtZGVwbG95LWhhbmRsZXJcIiksXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgIGZ1bmN0aW9uTmFtZTogcHJvcHMuc3RhcnREZXBsb3lGdW5jdGlvbk5hbWUsXG4gICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUFJPSkVDVF9OQU1FOiBjb2RlYnVpbGRQcm9qZWN0LnByb2plY3ROYW1lLFxuICAgICAgICBCVUNLRVRfTkFNRTogY29kZWJ1aWxkQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIENES19DT05URVhUOiBKU09OLnN0cmluZ2lmeShwcm9wcy5jZGtDb250ZXh0KSxcbiAgICAgIH0sXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgfSlcblxuICAgIHN0YXJ0RGVwbG95Rm4uZ3JhbnRJbnZva2Uocm9sZVRvQmVBc3N1bWVkKVxuICAgIGNvZGVidWlsZEJ1Y2tldC5ncmFudFJlYWRXcml0ZShzdGFydERlcGxveUZuKVxuXG4gICAgc3RhcnREZXBsb3lGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImNvZGVidWlsZDpTdGFydEJ1aWxkXCIsIFwiY29kZWJ1aWxkOkJhdGNoR2V0QnVpbGRzXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtjb2RlYnVpbGRQcm9qZWN0LnByb2plY3RBcm5dLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhdHVzRm4gPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgXCJTdGF0dXNGdW5jdGlvblwiLCB7XG4gICAgICBlbnRyeTogcmVxdWlyZS5yZXNvbHZlKFwiLi9zdGF0dXMtaGFuZGxlclwiKSxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgZnVuY3Rpb25OYW1lOiBwcm9wcy5zdGF0dXNGdW5jdGlvbk5hbWUsXG4gICAgICBhd3NTZGtDb25uZWN0aW9uUmV1c2U6IGZhbHNlLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUFJPSkVDVF9OQU1FOiBjb2RlYnVpbGRQcm9qZWN0LnByb2plY3ROYW1lLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICB9KVxuXG4gICAgc3RhdHVzRm4uZ3JhbnRJbnZva2Uocm9sZVRvQmVBc3N1bWVkKVxuXG4gICAgc3RhdHVzRm4uYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJjb2RlYnVpbGQ6QmF0Y2hHZXRCdWlsZHNcIl0sXG4gICAgICAgIHJlc291cmNlczogW2NvZGVidWlsZFByb2plY3QucHJvamVjdEFybl0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBzdGF0dXNGbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcImxvZ3M6R2V0TG9nRXZlbnRzXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpsb2dzOiR7cmVnaW9ufToke2FjY291bnR9OmxvZy1ncm91cDovYXdzL2NvZGVidWlsZC8ke2NvZGVidWlsZFByb2plY3QucHJvamVjdE5hbWV9OmxvZy1zdHJlYW06KmAsXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlJvbGVUb0JlQXNzdW1lZEFyblwiLCB7XG4gICAgICB2YWx1ZTogcm9sZVRvQmVBc3N1bWVkLnJvbGVBcm4sXG4gICAgfSlcbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIlN0YXR1c0Z1bmN0aW9uQXJuXCIsIHtcbiAgICAgIHZhbHVlOiBzdGF0dXNGbi5mdW5jdGlvbkFybixcbiAgICB9KVxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiU3RhcnREZXBsb3lGdW5jdGlvbkFyblwiLCB7XG4gICAgICB2YWx1ZTogc3RhcnREZXBsb3lGbi5mdW5jdGlvbkFybixcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -4,5 +4,5 @@ interface StartDeployExpectedInput {
4
4
  bucketKey: string;
5
5
  stackNames: string[];
6
6
  }
7
- export declare const startDeployHandler: Handler<Partial<StartDeployExpectedInput>>;
7
+ export declare const handler: Handler<Partial<StartDeployExpectedInput>>;
8
8
  export {};
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startDeployHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const startDeployHandler = async (event, context) => {
7
- var _a;
8
- const AWS = require("aws-sdk");
9
- const codebuild = new AWS.CodeBuild();
10
- const s3 = new AWS.S3();
3
+ exports.handler = void 0;
4
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
+ const client_codebuild_1 = require("@aws-sdk/client-codebuild");
6
+ // noinspection JSUnusedGlobalSymbols
7
+ const handler = async (event, context) => {
8
+ const codeBuildClient = new client_codebuild_1.CodeBuildClient();
9
+ const s3Client = new client_s3_1.S3Client();
11
10
  function requireEnv(name) {
12
11
  const value = process.env[name];
13
12
  if (value === undefined) {
@@ -29,35 +28,29 @@ const startDeployHandler = async (event, context) => {
29
28
  !event.stackNames.every((it) => typeof it === "string" && validStackName.test(it))) {
30
29
  throw new Error("Input invalid: " + JSON.stringify(event, undefined, " "));
31
30
  }
32
- async function put(name, data) {
33
- await s3
34
- .putObject({
31
+ async function putObject(name, data) {
32
+ await s3Client.send(new client_s3_1.PutObjectCommand({
35
33
  Bucket: bucketName,
36
34
  Key: `${s3KeyPrefix}${name}`,
37
35
  Body: data,
38
- })
39
- .promise();
36
+ }));
40
37
  }
41
- await put("stack-names.txt", event.stackNames.join(" "));
38
+ await putObject("stack-names.txt", event.stackNames.join(" "));
42
39
  // Ensure that we run the script using same feature flags.
43
- await put("cdk.json", JSON.stringify({
44
- context: cdkContext,
45
- }));
46
- const build = await codebuild
47
- .startBuild({
40
+ await putObject("cdk.json", JSON.stringify({ context: cdkContext }));
41
+ const { build } = await codeBuildClient.send(new client_codebuild_1.StartBuildCommand({
48
42
  projectName,
49
- sourceTypeOverride: "S3",
43
+ sourceTypeOverride: client_codebuild_1.SourceType.S3,
50
44
  sourceLocationOverride: `${bucketName}/${s3KeyPrefix}`,
51
45
  secondarySourcesOverride: [
52
46
  {
53
- type: "S3",
47
+ type: client_codebuild_1.SourceType.S3,
54
48
  location: `${event.bucketName}/${event.bucketKey}`,
55
49
  sourceIdentifier: "CLOUDASSEMBLY",
56
50
  },
57
51
  ],
58
- })
59
- .promise();
60
- const buildId = (_a = build.build) === null || _a === void 0 ? void 0 : _a.id;
52
+ }));
53
+ const buildId = build === null || build === void 0 ? void 0 : build.id;
61
54
  if (buildId == null) {
62
55
  throw new Error("Unknown build ID");
63
56
  }
@@ -68,5 +61,5 @@ const startDeployHandler = async (event, context) => {
68
61
  jobId: buildId,
69
62
  };
70
63
  };
71
- exports.startDeployHandler = startDeployHandler;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGVwbG95LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGFydC1kZXBsb3ktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQ3RCLE1BQU0sa0JBQWtCLEdBRTNCLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7O0lBQzNCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQW9CLENBQUE7SUFDdkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFhLENBQUE7SUFFbEMsU0FBUyxVQUFVLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDOUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFFeEQseURBQXlEO0lBQ3pELHVEQUF1RDtJQUN2RCxNQUFNLGNBQWMsR0FBRywwQkFBMEIsQ0FBQTtJQUVqRCxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxVQUFVLEtBQUssUUFBUTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUNuQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNoQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzFELEVBQ0QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELEtBQUssVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWlCO1FBQ2hELE1BQU0sRUFBRTthQUNMLFNBQVMsQ0FBQztZQUNULE1BQU0sRUFBRSxVQUFVO1lBQ2xCLEdBQUcsRUFBRSxHQUFHLFdBQVcsR0FBRyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDZCxDQUFDO0lBRUQsTUFBTSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN4RCwwREFBMEQ7SUFDMUQsTUFBTSxHQUFHLENBQ1AsVUFBVSxFQUNWLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDYixPQUFPLEVBQUUsVUFBVTtLQUNwQixDQUFDLENBQ0gsQ0FBQTtJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUztTQUMxQixVQUFVLENBQUM7UUFDVixXQUFXO1FBQ1gsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixzQkFBc0IsRUFBRSxHQUFHLFVBQVUsSUFBSSxXQUFXLEVBQUU7UUFDdEQsd0JBQXdCLEVBQUU7WUFDeEI7Z0JBQ0UsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUNsRCxnQkFBZ0IsRUFBRSxlQUFlO2FBQ2xDO1NBQ0Y7S0FDRixDQUFDO1NBQ0QsT0FBTyxFQUFFLENBQUE7SUFFWixNQUFNLE9BQU8sR0FBRyxNQUFBLEtBQUssQ0FBQyxLQUFLLDBDQUFFLEVBQUUsQ0FBQTtJQUMvQixJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxpRUFBaUU7UUFDakUsb0VBQW9FO1FBQ3BFLG9DQUFvQztRQUNwQyxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuRlksUUFBQSxrQkFBa0Isc0JBbUY5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgdHlwZSAqIGFzIF9BV1MgZnJvbSBcImF3cy1zZGtcIlxuXG5pbnRlcmZhY2UgU3RhcnREZXBsb3lFeHBlY3RlZElucHV0IHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIGJ1Y2tldEtleTogc3RyaW5nXG4gIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBzdGFydERlcGxveUhhbmRsZXI6IEhhbmRsZXI8XG4gIFBhcnRpYWw8U3RhcnREZXBsb3lFeHBlY3RlZElucHV0PlxuPiA9IGFzeW5jIChldmVudCwgY29udGV4dCkgPT4ge1xuICBjb25zdCBBV1MgPSByZXF1aXJlKFwiYXdzLXNka1wiKVxuXG4gIGNvbnN0IGNvZGVidWlsZCA9IG5ldyBBV1MuQ29kZUJ1aWxkKCkgYXMgX0FXUy5Db2RlQnVpbGRcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKCkgYXMgX0FXUy5TM1xuXG4gIGZ1bmN0aW9uIHJlcXVpcmVFbnYobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W25hbWVdXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke25hbWV9YClcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBjb25zdCBwcm9qZWN0TmFtZSA9IHJlcXVpcmVFbnYoXCJQUk9KRUNUX05BTUVcIilcbiAgY29uc3QgYnVja2V0TmFtZSA9IHJlcXVpcmVFbnYoXCJCVUNLRVRfTkFNRVwiKVxuICBjb25zdCBjZGtDb250ZXh0ID0gSlNPTi5wYXJzZShyZXF1aXJlRW52KFwiQ0RLX0NPTlRFWFRcIikpXG5cbiAgLy8gU2luY2Ugd2UgcGFzcyB0aGUgc3RhY2sgbmFtZXMgYXMgc3RyaW5ncyB0byB0aGUgc2hlbGwsXG4gIC8vIGJlIGEgYml0IHJlc3RyaWN0aXZlIG9mIHRoZSB2YWxpZCB2YWx1ZXMgd2UgY2FuIHVzZS5cbiAgY29uc3QgdmFsaWRTdGFja05hbWUgPSAvXlthLXowLTlfXVthLXowLTlcXC1fXSokL2lcblxuICBjb25zdCBzM0tleVByZWZpeCA9IGAke2NvbnRleHQuYXdzUmVxdWVzdElkfS9gXG5cbiAgLy8gVmFsaWRhdGUgdGhlIGlucHV0LlxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50LmJ1Y2tldE5hbWUgIT09IFwic3RyaW5nXCIgfHxcbiAgICB0eXBlb2YgZXZlbnQuYnVja2V0S2V5ICE9PSBcInN0cmluZ1wiIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZXZlbnQuc3RhY2tOYW1lcykgfHxcbiAgICAhZXZlbnQuc3RhY2tOYW1lcy5ldmVyeShcbiAgICAgIChpdCkgPT4gdHlwZW9mIGl0ID09PSBcInN0cmluZ1wiICYmIHZhbGlkU3RhY2tOYW1lLnRlc3QoaXQpLFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0KG5hbWU6IHN0cmluZywgZGF0YTogQVdTLlMzLkJvZHkpIHtcbiAgICBhd2FpdCBzM1xuICAgICAgLnB1dE9iamVjdCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBgJHtzM0tleVByZWZpeH0ke25hbWV9YCxcbiAgICAgICAgQm9keTogZGF0YSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG4gIH1cblxuICBhd2FpdCBwdXQoXCJzdGFjay1uYW1lcy50eHRcIiwgZXZlbnQuc3RhY2tOYW1lcy5qb2luKFwiIFwiKSlcbiAgLy8gRW5zdXJlIHRoYXQgd2UgcnVuIHRoZSBzY3JpcHQgdXNpbmcgc2FtZSBmZWF0dXJlIGZsYWdzLlxuICBhd2FpdCBwdXQoXG4gICAgXCJjZGsuanNvblwiLFxuICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbnRleHQ6IGNka0NvbnRleHQsXG4gICAgfSksXG4gIClcblxuICBjb25zdCBidWlsZCA9IGF3YWl0IGNvZGVidWlsZFxuICAgIC5zdGFydEJ1aWxkKHtcbiAgICAgIHByb2plY3ROYW1lLFxuICAgICAgc291cmNlVHlwZU92ZXJyaWRlOiBcIlMzXCIsXG4gICAgICBzb3VyY2VMb2NhdGlvbk92ZXJyaWRlOiBgJHtidWNrZXROYW1lfS8ke3MzS2V5UHJlZml4fWAsXG4gICAgICBzZWNvbmRhcnlTb3VyY2VzT3ZlcnJpZGU6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiUzNcIixcbiAgICAgICAgICBsb2NhdGlvbjogYCR7ZXZlbnQuYnVja2V0TmFtZX0vJHtldmVudC5idWNrZXRLZXl9YCxcbiAgICAgICAgICBzb3VyY2VJZGVudGlmaWVyOiBcIkNMT1VEQVNTRU1CTFlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgICAucHJvbWlzZSgpXG5cbiAgY29uc3QgYnVpbGRJZCA9IGJ1aWxkLmJ1aWxkPy5pZFxuICBpZiAoYnVpbGRJZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBidWlsZCBJRFwiKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIGlzIHRoZSB2YWx1ZSB0aGUgY2FsbGVyIHdpbGwgdXNlIHRvIGZldGNoIHVwZGF0ZWQgc3RhdHVzLlxuICAgIC8vIEF2b2lkIGV4cG9zaW5nIHdoYXQga2luZCBvZiBJRCB0aGlzIGlzLCBiZWNhdXNlIHdlIHNob3VsZCBiZSBmcmVlXG4gICAgLy8gdG8gY2hhbmdlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gICAgam9iSWQ6IGJ1aWxkSWQsXG4gIH1cbn1cbiJdfQ==
64
+ exports.handler = handler;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGVwbG95LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGFydC1kZXBsb3ktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxrREFBK0Q7QUFDL0QsZ0VBSWtDO0FBUWxDLHFDQUFxQztBQUM5QixNQUFNLE9BQU8sR0FBK0MsS0FBSyxFQUN0RSxLQUFLLEVBQ0wsT0FBTyxFQUNQLEVBQUU7SUFDRixNQUFNLGVBQWUsR0FBRyxJQUFJLGtDQUFlLEVBQUUsQ0FBQTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFRLEVBQUUsQ0FBQTtJQUUvQixTQUFTLFVBQVUsQ0FBQyxJQUFZO1FBQzlCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDL0IsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUE7UUFDcEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUM5QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtJQUV4RCx5REFBeUQ7SUFDekQsdURBQXVEO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLDBCQUEwQixDQUFBO0lBQ2pELE1BQU0sV0FBVyxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFBO0lBRTlDLHNCQUFzQjtJQUN0QixJQUNFLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ25DLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ2hDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3JCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDMUQsRUFDRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsS0FBSyxVQUFVLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUNqRCxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQ2pCLElBQUksNEJBQWdCLENBQUM7WUFDbkIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsR0FBRyxFQUFFLEdBQUcsV0FBVyxHQUFHLElBQUksRUFBRTtZQUM1QixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sU0FBUyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDOUQsMERBQTBEO0lBQzFELE1BQU0sU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUVwRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUMxQyxJQUFJLG9DQUFpQixDQUFDO1FBQ3BCLFdBQVc7UUFDWCxrQkFBa0IsRUFBRSw2QkFBVSxDQUFDLEVBQUU7UUFDakMsc0JBQXNCLEVBQUUsR0FBRyxVQUFVLElBQUksV0FBVyxFQUFFO1FBQ3RELHdCQUF3QixFQUFFO1lBQ3hCO2dCQUNFLElBQUksRUFBRSw2QkFBVSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbEQsZ0JBQWdCLEVBQUUsZUFBZTthQUNsQztTQUNGO0tBQ0YsQ0FBQyxDQUNILENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsRUFBRSxDQUFBO0lBRXpCLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsT0FBTztRQUNMLGlFQUFpRTtRQUNqRSxvRUFBb0U7UUFDcEUsb0NBQW9DO1FBQ3BDLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQTVFWSxRQUFBLE9BQU8sV0E0RW5CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG5pbXBvcnQgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5pbXBvcnQgeyBTM0NsaWVudCwgUHV0T2JqZWN0Q29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIlxuaW1wb3J0IHtcbiAgQ29kZUJ1aWxkQ2xpZW50LFxuICBTdGFydEJ1aWxkQ29tbWFuZCxcbiAgU291cmNlVHlwZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2RlYnVpbGRcIlxuXG5pbnRlcmZhY2UgU3RhcnREZXBsb3lFeHBlY3RlZElucHV0IHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIGJ1Y2tldEtleTogc3RyaW5nXG4gIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG59XG5cbi8vIG5vaW5zcGVjdGlvbiBKU1VudXNlZEdsb2JhbFN5bWJvbHNcbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPFBhcnRpYWw8U3RhcnREZXBsb3lFeHBlY3RlZElucHV0Pj4gPSBhc3luYyAoXG4gIGV2ZW50LFxuICBjb250ZXh0LFxuKSA9PiB7XG4gIGNvbnN0IGNvZGVCdWlsZENsaWVudCA9IG5ldyBDb2RlQnVpbGRDbGllbnQoKVxuICBjb25zdCBzM0NsaWVudCA9IG5ldyBTM0NsaWVudCgpXG5cbiAgZnVuY3Rpb24gcmVxdWlyZUVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nICR7bmFtZX1gKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIGNvbnN0IHByb2plY3ROYW1lID0gcmVxdWlyZUVudihcIlBST0pFQ1RfTkFNRVwiKVxuICBjb25zdCBidWNrZXROYW1lID0gcmVxdWlyZUVudihcIkJVQ0tFVF9OQU1FXCIpXG4gIGNvbnN0IGNka0NvbnRleHQgPSBKU09OLnBhcnNlKHJlcXVpcmVFbnYoXCJDREtfQ09OVEVYVFwiKSlcblxuICAvLyBTaW5jZSB3ZSBwYXNzIHRoZSBzdGFjayBuYW1lcyBhcyBzdHJpbmdzIHRvIHRoZSBzaGVsbCxcbiAgLy8gYmUgYSBiaXQgcmVzdHJpY3RpdmUgb2YgdGhlIHZhbGlkIHZhbHVlcyB3ZSBjYW4gdXNlLlxuICBjb25zdCB2YWxpZFN0YWNrTmFtZSA9IC9eW2EtejAtOV9dW2EtejAtOVxcLV9dKiQvaVxuICBjb25zdCBzM0tleVByZWZpeCA9IGAke2NvbnRleHQuYXdzUmVxdWVzdElkfS9gXG5cbiAgLy8gVmFsaWRhdGUgdGhlIGlucHV0LlxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50LmJ1Y2tldE5hbWUgIT09IFwic3RyaW5nXCIgfHxcbiAgICB0eXBlb2YgZXZlbnQuYnVja2V0S2V5ICE9PSBcInN0cmluZ1wiIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZXZlbnQuc3RhY2tOYW1lcykgfHxcbiAgICAhZXZlbnQuc3RhY2tOYW1lcy5ldmVyeShcbiAgICAgIChpdCkgPT4gdHlwZW9mIGl0ID09PSBcInN0cmluZ1wiICYmIHZhbGlkU3RhY2tOYW1lLnRlc3QoaXQpLFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0T2JqZWN0KG5hbWU6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XG4gICAgYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBQdXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBidWNrZXROYW1lLFxuICAgICAgICBLZXk6IGAke3MzS2V5UHJlZml4fSR7bmFtZX1gLFxuICAgICAgICBCb2R5OiBkYXRhLFxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgYXdhaXQgcHV0T2JqZWN0KFwic3RhY2stbmFtZXMudHh0XCIsIGV2ZW50LnN0YWNrTmFtZXMuam9pbihcIiBcIikpXG4gIC8vIEVuc3VyZSB0aGF0IHdlIHJ1biB0aGUgc2NyaXB0IHVzaW5nIHNhbWUgZmVhdHVyZSBmbGFncy5cbiAgYXdhaXQgcHV0T2JqZWN0KFwiY2RrLmpzb25cIiwgSlNPTi5zdHJpbmdpZnkoeyBjb250ZXh0OiBjZGtDb250ZXh0IH0pKVxuXG4gIGNvbnN0IHsgYnVpbGQgfSA9IGF3YWl0IGNvZGVCdWlsZENsaWVudC5zZW5kKFxuICAgIG5ldyBTdGFydEJ1aWxkQ29tbWFuZCh7XG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHNvdXJjZVR5cGVPdmVycmlkZTogU291cmNlVHlwZS5TMyxcbiAgICAgIHNvdXJjZUxvY2F0aW9uT3ZlcnJpZGU6IGAke2J1Y2tldE5hbWV9LyR7czNLZXlQcmVmaXh9YCxcbiAgICAgIHNlY29uZGFyeVNvdXJjZXNPdmVycmlkZTogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogU291cmNlVHlwZS5TMyxcbiAgICAgICAgICBsb2NhdGlvbjogYCR7ZXZlbnQuYnVja2V0TmFtZX0vJHtldmVudC5idWNrZXRLZXl9YCxcbiAgICAgICAgICBzb3VyY2VJZGVudGlmaWVyOiBcIkNMT1VEQVNTRU1CTFlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIClcbiAgY29uc3QgYnVpbGRJZCA9IGJ1aWxkPy5pZFxuXG4gIGlmIChidWlsZElkID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGJ1aWxkIElEXCIpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8vIFRoaXMgaXMgdGhlIHZhbHVlIHRoZSBjYWxsZXIgd2lsbCB1c2UgdG8gZmV0Y2ggdXBkYXRlZCBzdGF0dXMuXG4gICAgLy8gQXZvaWQgZXhwb3Npbmcgd2hhdCBraW5kIG9mIElEIHRoaXMgaXMsIGJlY2F1c2Ugd2Ugc2hvdWxkIGJlIGZyZWVcbiAgICAvLyB0byBjaGFuZ2UgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAgICBqb2JJZDogYnVpbGRJZCxcbiAgfVxufVxuIl19
@@ -2,5 +2,5 @@ import { Handler } from "aws-lambda";
2
2
  interface StatusExpectedInput {
3
3
  jobId: string;
4
4
  }
5
- export declare const statusHandler: Handler<Partial<StatusExpectedInput>>;
5
+ export declare const handler: Handler<Partial<StatusExpectedInput>>;
6
6
  export {};
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.statusHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const statusHandler = async (event) => {
7
- const AWS = require("aws-sdk");
3
+ exports.handler = void 0;
4
+ const client_codebuild_1 = require("@aws-sdk/client-codebuild");
5
+ const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
6
+ const handler = async (event) => {
7
+ const codeBuildClient = new client_codebuild_1.CodeBuildClient();
8
+ const cloudWatchLogsClient = new client_cloudwatch_logs_1.CloudWatchLogsClient();
8
9
  function requireEnv(name) {
9
10
  const value = process.env[name];
10
11
  if (value === undefined) {
@@ -31,13 +32,12 @@ const statusHandler = async (event) => {
31
32
  return false;
32
33
  }
33
34
  async function getBuild(buildId) {
34
- var _a, _b, _c;
35
- const codebuild = new AWS.CodeBuild();
36
- const result = await codebuild.batchGetBuilds({ ids: [buildId] }).promise();
37
- if (((_a = result.builds) === null || _a === void 0 ? void 0 : _a.length) !== 1) {
38
- throw new Error(`Expected 1 item, found ${(_c = (_b = result.builds) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : "unknown"}`);
35
+ var _a;
36
+ const { builds } = await codeBuildClient.send(new client_codebuild_1.BatchGetBuildsCommand({ ids: [buildId] }));
37
+ if ((builds === null || builds === void 0 ? void 0 : builds.length) !== 1) {
38
+ throw new Error(`Expected 1 item, found ${(_a = builds === null || builds === void 0 ? void 0 : builds.length) !== null && _a !== void 0 ? _a : "unknown"}`);
39
39
  }
40
- return result.builds[0];
40
+ return builds[0];
41
41
  }
42
42
  async function getLogs(build) {
43
43
  if (build.logs == null) {
@@ -49,19 +49,16 @@ const statusHandler = async (event) => {
49
49
  if (build.logs.streamName == null) {
50
50
  throw new Error("Missing log streamName");
51
51
  }
52
- const cloudwatchlogs = new AWS.CloudWatchLogs();
53
- const data = await cloudwatchlogs
54
- .getLogEvents({
52
+ const { events } = await cloudWatchLogsClient.send(new client_cloudwatch_logs_1.GetLogEventsCommand({
55
53
  logGroupName: build.logs.groupName,
56
54
  logStreamName: build.logs.streamName,
57
55
  startFromHead: true,
58
- })
59
- .promise();
60
- if (data.events == null) {
56
+ }));
57
+ if (events == null) {
61
58
  throw new Error("Failed to fetch log events");
62
59
  }
63
60
  // The logs contain newlines, so no need to add more.
64
- return data.events.map((it) => it.message).join("");
61
+ return events.map((it) => it.message).join("");
65
62
  }
66
63
  const projectName = requireEnv("PROJECT_NAME");
67
64
  // Validate the input.
@@ -79,5 +76,5 @@ const statusHandler = async (event) => {
79
76
  logs,
80
77
  };
81
78
  };
82
- exports.statusHandler = statusHandler;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGF0dXMtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQ3RCLE1BQU0sYUFBYSxHQUEwQyxLQUFLLEVBQ3ZFLEtBQUssRUFDTCxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRTlCLFNBQVMsVUFBVSxDQUFDLElBQVk7UUFDOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxTQUFTLFVBQVUsQ0FBQyxNQUFnQztRQUNsRCxJQUFJLE1BQU0sSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxJQUFJLE1BQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxLQUFLLFVBQVUsUUFBUSxDQUFDLE9BQWU7O1FBQ3JDLE1BQU0sU0FBUyxHQUFrQixJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQW9CLENBQUE7UUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTNFLElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLE1BQU0sTUFBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixNQUFBLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsTUFBTSxtQ0FBSSxTQUFTLEVBQUUsQ0FDL0QsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELEtBQUssVUFBVSxPQUFPLENBQUMsS0FBMEI7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtRQUNwRCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FDbEIsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUF5QixDQUFBO1FBQ2pELE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYzthQUM5QixZQUFZLENBQUM7WUFDWixZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2xDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO1FBRVosSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUMvQyxDQUFDO1FBRUQscURBQXFEO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUMvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWxFLDBDQUEwQztJQUMxQyxNQUFNLElBQUksR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTFELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsT0FBTztRQUNQLElBQUk7S0FDTCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBckdZLFFBQUEsYUFBYSxpQkFxR3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcbmltcG9ydCB0eXBlICogYXMgX0FXUyBmcm9tIFwiYXdzLXNka1wiXG5cbmludGVyZmFjZSBTdGF0dXNFeHBlY3RlZElucHV0IHtcbiAgam9iSWQ6IHN0cmluZ1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGlubGluZS1jb21waWxlZCBmb3IgdGhlIGxhbWJkYS5cbi8vIEl0IG11c3QgYmUgc2VsZi1jb250YWluZWQuXG5leHBvcnQgY29uc3Qgc3RhdHVzSGFuZGxlcjogSGFuZGxlcjxQYXJ0aWFsPFN0YXR1c0V4cGVjdGVkSW5wdXQ+PiA9IGFzeW5jIChcbiAgZXZlbnQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIilcblxuICBmdW5jdGlvbiByZXF1aXJlRW52KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXVxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgJHtuYW1lfWApXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdWNjZXNzIHN0YXR1cy5cbiAgICpcbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIHRoZSBqb2IgaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIHdoaWxlXG4gICAqIGEgdmFsdWUgb2YgZmFsc2UgbWVhbnMgdGhlIGpvYiBkaWQgY29tcGxldGUgYnV0IG5vdCBzdWNjZXNzZnVsbHkuXG4gICAqXG4gICAqIEEgbnVsbCB2YWx1ZSBtZWFucyB0aGUgam9iIGlzIHN0aWxsIGluIHByb2dyZXNzIGFuZCB0aGVcbiAgICogY29tcGxldGlvbiBzdGF0dXMgaXMgbm90IHlldCBrbm93bi5cbiAgICovXG4gIGZ1bmN0aW9uIGdldFN1Y2Nlc3Moc3RhdHVzOiBBV1MuQ29kZUJ1aWxkLlN0YXR1c1R5cGUpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgaWYgKHN0YXR1cyA9PSBcIlNVQ0NFRURFRFwiKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChzdGF0dXMgPT0gXCJJTl9QUk9HUkVTU1wiKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZ2V0QnVpbGQoYnVpbGRJZDogc3RyaW5nKTogUHJvbWlzZTxBV1MuQ29kZUJ1aWxkLkJ1aWxkPiB7XG4gICAgY29uc3QgY29kZWJ1aWxkOiBBV1MuQ29kZUJ1aWxkID0gbmV3IEFXUy5Db2RlQnVpbGQoKSBhcyBfQVdTLkNvZGVCdWlsZFxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvZGVidWlsZC5iYXRjaEdldEJ1aWxkcyh7IGlkczogW2J1aWxkSWRdIH0pLnByb21pc2UoKVxuXG4gICAgaWYgKHJlc3VsdC5idWlsZHM/Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgMSBpdGVtLCBmb3VuZCAke3Jlc3VsdC5idWlsZHM/Lmxlbmd0aCA/PyBcInVua25vd25cIn1gLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuYnVpbGRzWzBdXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRMb2dzKGJ1aWxkOiBBV1MuQ29kZUJ1aWxkLkJ1aWxkKSB7XG4gICAgaWYgKGJ1aWxkLmxvZ3MgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBsb2dzIGF0dHJpYnV0ZSBvbiBidWlsZFwiKVxuICAgIH1cblxuICAgIGlmIChidWlsZC5sb2dzLmdyb3VwTmFtZSA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGxvZyBncm91cE5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoYnVpbGQubG9ncy5zdHJlYW1OYW1lID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbG9nIHN0cmVhbU5hbWVcIilcbiAgICB9XG5cbiAgICBjb25zdCBjbG91ZHdhdGNobG9nczogQVdTLkNsb3VkV2F0Y2hMb2dzID1cbiAgICAgIG5ldyBBV1MuQ2xvdWRXYXRjaExvZ3MoKSBhcyBfQVdTLkNsb3VkV2F0Y2hMb2dzXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGNsb3Vkd2F0Y2hsb2dzXG4gICAgICAuZ2V0TG9nRXZlbnRzKHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBidWlsZC5sb2dzLmdyb3VwTmFtZSxcbiAgICAgICAgbG9nU3RyZWFtTmFtZTogYnVpbGQubG9ncy5zdHJlYW1OYW1lLFxuICAgICAgICBzdGFydEZyb21IZWFkOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGlmIChkYXRhLmV2ZW50cyA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggbG9nIGV2ZW50c1wiKVxuICAgIH1cblxuICAgIC8vIFRoZSBsb2dzIGNvbnRhaW4gbmV3bGluZXMsIHNvIG5vIG5lZWQgdG8gYWRkIG1vcmUuXG4gICAgcmV0dXJuIGRhdGEuZXZlbnRzLm1hcCgoaXQpID0+IGl0Lm1lc3NhZ2UpLmpvaW4oXCJcIilcbiAgfVxuXG4gIGNvbnN0IHByb2plY3ROYW1lID0gcmVxdWlyZUVudihcIlBST0pFQ1RfTkFNRVwiKVxuXG4gIC8vIFZhbGlkYXRlIHRoZSBpbnB1dC5cbiAgaWYgKFxuICAgIHR5cGVvZiBldmVudC5qb2JJZCAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICFldmVudC5qb2JJZC5zdGFydHNXaXRoKGAke3Byb2plY3ROYW1lfTpgKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnB1dCBpbnZhbGlkOiBcIiArIEpTT04uc3RyaW5naWZ5KGV2ZW50LCB1bmRlZmluZWQsIFwiICBcIikpXG4gIH1cblxuICBjb25zdCBidWlsZCA9IGF3YWl0IGdldEJ1aWxkKGV2ZW50LmpvYklkKVxuXG4gIGNvbnN0IHN1Y2Nlc3MgPVxuICAgIGJ1aWxkLmJ1aWxkU3RhdHVzID09IG51bGwgPyBudWxsIDogZ2V0U3VjY2VzcyhidWlsZC5idWlsZFN0YXR1cylcblxuICAvLyBSZWFkIGxvZ3MgZnJvbSBDbG91ZFdhdGNoIGlmIGNvbXBsZXRlZC5cbiAgY29uc3QgbG9ncyA9IHN1Y2Nlc3MgIT0gbnVsbCA/IGF3YWl0IGdldExvZ3MoYnVpbGQpIDogbnVsbFxuXG4gIHJldHVybiB7XG4gICAgam9iSWQ6IGV2ZW50LmpvYklkLFxuICAgIHN1Y2Nlc3MsXG4gICAgbG9ncyxcbiAgfVxufVxuIl19
79
+ exports.handler = handler;
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGF0dXMtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnRUFLa0M7QUFFbEMsNEVBR3dDO0FBTWpDLE1BQU0sT0FBTyxHQUEwQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxrQ0FBZSxFQUFFLENBQUE7SUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDZDQUFvQixFQUFFLENBQUE7SUFFdkQsU0FBUyxVQUFVLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFNBQVMsVUFBVSxDQUFDLE1BQWtCO1FBQ3BDLElBQUksTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELElBQUksTUFBTSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELEtBQUssVUFBVSxRQUFRLENBQUMsT0FBZTs7UUFDckMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLElBQUksQ0FDM0MsSUFBSSx3Q0FBcUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDOUMsQ0FBQTtRQUVELElBQUksQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxNQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sbUNBQUksU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMxRSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbEIsQ0FBQztJQUVELEtBQUssVUFBVSxPQUFPLENBQUMsS0FBWTtRQUNqQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDM0MsQ0FBQztRQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixDQUFDLElBQUksQ0FDaEQsSUFBSSw0Q0FBbUIsQ0FBQztZQUN0QixZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2xDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQyxDQUNILENBQUE7UUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUVELHFEQUFxRDtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUMvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWxFLDBDQUEwQztJQUMxQyxNQUFNLElBQUksR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTFELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsT0FBTztRQUNQLElBQUk7S0FDTCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBakdZLFFBQUEsT0FBTyxXQWlHbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG5pbXBvcnQge1xuICBDb2RlQnVpbGRDbGllbnQsXG4gIEJhdGNoR2V0QnVpbGRzQ29tbWFuZCxcbiAgU3RhdHVzVHlwZSxcbiAgQnVpbGQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY29kZWJ1aWxkXCJcblxuaW1wb3J0IHtcbiAgQ2xvdWRXYXRjaExvZ3NDbGllbnQsXG4gIEdldExvZ0V2ZW50c0NvbW1hbmQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtY2xvdWR3YXRjaC1sb2dzXCJcblxuaW50ZXJmYWNlIFN0YXR1c0V4cGVjdGVkSW5wdXQge1xuICBqb2JJZDogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPFBhcnRpYWw8U3RhdHVzRXhwZWN0ZWRJbnB1dD4+ID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIGNvbnN0IGNvZGVCdWlsZENsaWVudCA9IG5ldyBDb2RlQnVpbGRDbGllbnQoKVxuICBjb25zdCBjbG91ZFdhdGNoTG9nc0NsaWVudCA9IG5ldyBDbG91ZFdhdGNoTG9nc0NsaWVudCgpXG5cbiAgZnVuY3Rpb24gcmVxdWlyZUVudihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gcHJvY2Vzcy5lbnZbbmFtZV1cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nICR7bmFtZX1gKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3VjY2VzcyBzdGF0dXMuXG4gICAqXG4gICAqIEEgdmFsdWUgb2YgdHJ1ZSBtZWFucyB0aGUgam9iIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCB3aGlsZVxuICAgKiBhIHZhbHVlIG9mIGZhbHNlIG1lYW5zIHRoZSBqb2IgZGlkIGNvbXBsZXRlIGJ1dCBub3Qgc3VjY2Vzc2Z1bGx5LlxuICAgKlxuICAgKiBBIG51bGwgdmFsdWUgbWVhbnMgdGhlIGpvYiBpcyBzdGlsbCBpbiBwcm9ncmVzcyBhbmQgdGhlXG4gICAqIGNvbXBsZXRpb24gc3RhdHVzIGlzIG5vdCB5ZXQga25vd24uXG4gICAqL1xuICBmdW5jdGlvbiBnZXRTdWNjZXNzKHN0YXR1czogU3RhdHVzVHlwZSk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICBpZiAoc3RhdHVzID09IFwiU1VDQ0VFREVEXCIpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA9PSBcIklOX1BST0dSRVNTXCIpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRCdWlsZChidWlsZElkOiBzdHJpbmcpOiBQcm9taXNlPEJ1aWxkPiB7XG4gICAgY29uc3QgeyBidWlsZHMgfSA9IGF3YWl0IGNvZGVCdWlsZENsaWVudC5zZW5kKFxuICAgICAgbmV3IEJhdGNoR2V0QnVpbGRzQ29tbWFuZCh7IGlkczogW2J1aWxkSWRdIH0pLFxuICAgIClcblxuICAgIGlmIChidWlsZHM/Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAxIGl0ZW0sIGZvdW5kICR7YnVpbGRzPy5sZW5ndGggPz8gXCJ1bmtub3duXCJ9YClcbiAgICB9XG5cbiAgICByZXR1cm4gYnVpbGRzWzBdXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRMb2dzKGJ1aWxkOiBCdWlsZCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGJ1aWxkLmxvZ3MgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBsb2dzIGF0dHJpYnV0ZSBvbiBidWlsZFwiKVxuICAgIH1cblxuICAgIGlmIChidWlsZC5sb2dzLmdyb3VwTmFtZSA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGxvZyBncm91cE5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoYnVpbGQubG9ncy5zdHJlYW1OYW1lID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbG9nIHN0cmVhbU5hbWVcIilcbiAgICB9XG5cbiAgICBjb25zdCB7IGV2ZW50cyB9ID0gYXdhaXQgY2xvdWRXYXRjaExvZ3NDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRMb2dFdmVudHNDb21tYW5kKHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBidWlsZC5sb2dzLmdyb3VwTmFtZSxcbiAgICAgICAgbG9nU3RyZWFtTmFtZTogYnVpbGQubG9ncy5zdHJlYW1OYW1lLFxuICAgICAgICBzdGFydEZyb21IZWFkOiB0cnVlLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgaWYgKGV2ZW50cyA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggbG9nIGV2ZW50c1wiKVxuICAgIH1cblxuICAgIC8vIFRoZSBsb2dzIGNvbnRhaW4gbmV3bGluZXMsIHNvIG5vIG5lZWQgdG8gYWRkIG1vcmUuXG4gICAgcmV0dXJuIGV2ZW50cy5tYXAoKGl0KSA9PiBpdC5tZXNzYWdlKS5qb2luKFwiXCIpXG4gIH1cblxuICBjb25zdCBwcm9qZWN0TmFtZSA9IHJlcXVpcmVFbnYoXCJQUk9KRUNUX05BTUVcIilcblxuICAvLyBWYWxpZGF0ZSB0aGUgaW5wdXQuXG4gIGlmIChcbiAgICB0eXBlb2YgZXZlbnQuam9iSWQgIT09IFwic3RyaW5nXCIgfHxcbiAgICAhZXZlbnQuam9iSWQuc3RhcnRzV2l0aChgJHtwcm9qZWN0TmFtZX06YClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgY29uc3QgYnVpbGQgPSBhd2FpdCBnZXRCdWlsZChldmVudC5qb2JJZClcblxuICBjb25zdCBzdWNjZXNzID1cbiAgICBidWlsZC5idWlsZFN0YXR1cyA9PSBudWxsID8gbnVsbCA6IGdldFN1Y2Nlc3MoYnVpbGQuYnVpbGRTdGF0dXMpXG5cbiAgLy8gUmVhZCBsb2dzIGZyb20gQ2xvdWRXYXRjaCBpZiBjb21wbGV0ZWQuXG4gIGNvbnN0IGxvZ3MgPSBzdWNjZXNzICE9IG51bGwgPyBhd2FpdCBnZXRMb2dzKGJ1aWxkKSA6IG51bGxcblxuICByZXR1cm4ge1xuICAgIGpvYklkOiBldmVudC5qb2JJZCxcbiAgICBzdWNjZXNzLFxuICAgIGxvZ3MsXG4gIH1cbn1cbiJdfQ==
@@ -3,4 +3,4 @@ export interface CloudAssemblyLookupUserParameters {
3
3
  bucketName: string;
4
4
  objectKey: string;
5
5
  }
6
- export declare const cloudAssemblyLookupHandler: Handler;
6
+ export declare const handler: Handler;
@@ -1,63 +1,74 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cloudAssemblyLookupHandler = void 0;
4
- // This is a self-contained function that will be serialized as a lambda.
5
- const cloudAssemblyLookupHandler = async (event, context) => {
6
- const AWS = require("aws-sdk");
7
- const s3 = new AWS.S3();
8
- const codepipeline = new AWS.CodePipeline();
3
+ exports.handler = void 0;
4
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
+ const client_codepipeline_1 = require("@aws-sdk/client-codepipeline");
6
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
7
+ const handler = async (event, context) => {
8
+ const s3Client = new client_s3_1.S3Client();
9
+ const codepipelineClient = new client_codepipeline_1.CodePipelineClient();
9
10
  const jobId = event["CodePipeline.job"].id;
10
11
  try {
11
12
  const userParametersRaw = event["CodePipeline.job"].data.actionConfiguration.configuration
12
13
  .UserParameters;
13
14
  console.log("User parameters", userParametersRaw);
15
+ console.log("Parsing user parameters");
14
16
  const userParameters = JSON.parse(userParametersRaw);
15
- const referenceData = await s3
16
- .getObject({
17
+ console.log("Fetching reference data from S3");
18
+ const getReferenceDataResp = await s3Client.send(new client_s3_1.GetObjectCommand({
17
19
  Bucket: userParameters.bucketName,
18
20
  Key: userParameters.objectKey,
19
- })
20
- .promise()
21
- .then((it) => it.Body.toString());
21
+ }));
22
+ const referenceData = await getReferenceDataResp.Body.transformToString("utf-8");
23
+ console.log("Parsing reference data from S3");
22
24
  const cloudAssemblyReference = JSON.parse(referenceData);
23
25
  const outputArtifact = event["CodePipeline.job"].data.outputArtifacts[0];
24
26
  const s3Loc = outputArtifact.location.s3Location;
25
- const cloudAssemblyZipData = await s3
26
- .getObject({
27
+ console.log("Fetching Cloud Assembly ZIP data from S3");
28
+ const cloudAssemblyZipData = await s3Client.send(new client_s3_1.GetObjectCommand({
27
29
  Bucket: cloudAssemblyReference.cloudAssemblyBucketName,
28
30
  Key: cloudAssemblyReference.cloudAssemblyBucketKey,
29
- })
30
- .promise();
31
- console.log("Size of Cloud Assembly", cloudAssemblyZipData.ContentLength);
32
- await new AWS.S3({
33
- credentials: event["CodePipeline.job"].data.artifactCredentials,
34
- })
35
- .putObject({
36
- Bucket: s3Loc.bucketName,
37
- Key: s3Loc.objectKey,
38
- Body: cloudAssemblyZipData.Body,
39
- })
40
- .promise();
41
- await codepipeline
42
- .putJobSuccessResult({
31
+ }));
32
+ console.log("Content-Length of Cloud Assembly (bytes)", cloudAssemblyZipData.ContentLength);
33
+ console.log("Creating authenticated S3 client for artifact upload");
34
+ const artifactCreds = event["CodePipeline.job"].data.artifactCredentials;
35
+ if (artifactCreds === undefined) {
36
+ console.error("No artifact credentials found in job event");
37
+ }
38
+ const authedS3Client = new client_s3_1.S3Client({
39
+ credentials: artifactCreds,
40
+ });
41
+ console.log(`Uploading Cloud Assembly ZIP to s3://${s3Loc.bucketName}/${s3Loc.objectKey}`);
42
+ const upload = new lib_storage_1.Upload({
43
+ client: authedS3Client,
44
+ params: {
45
+ Bucket: s3Loc.bucketName,
46
+ Key: s3Loc.objectKey,
47
+ Body: cloudAssemblyZipData.Body,
48
+ },
49
+ });
50
+ upload.on("httpUploadProgress", (progress) => {
51
+ console.log(progress);
52
+ });
53
+ await upload.done();
54
+ console.log("Sending success result to CodePipeline");
55
+ await codepipelineClient.send(new client_codepipeline_1.PutJobSuccessResultCommand({
43
56
  jobId,
44
- })
45
- .promise();
57
+ }));
46
58
  console.log("Success");
47
59
  }
48
60
  catch (e) {
49
- await codepipeline
50
- .putJobFailureResult({
61
+ console.log("Sending failure result to CodePipeline");
62
+ await codepipelineClient.send(new client_codepipeline_1.PutJobFailureResultCommand({
51
63
  failureDetails: {
52
64
  message: JSON.stringify(e),
53
65
  type: "JobFailed",
54
66
  externalExecutionId: context.awsRequestId,
55
67
  },
56
68
  jobId,
57
- })
58
- .promise();
69
+ }));
59
70
  console.error("Failed", e);
60
71
  }
61
72
  };
62
- exports.cloudAssemblyLookupHandler = cloudAssemblyLookupHandler;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyQ0EseUVBQXlFO0FBQ2xFLE1BQU0sMEJBQTBCLEdBQVksS0FBSyxFQUN0RCxLQUF3QixFQUN4QixPQUFPLEVBQ1AsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQTZCLENBQUE7SUFDMUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUE7SUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFM0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsaUJBQWlCLENBQ21CLENBQUE7UUFFdEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFO2FBQzNCLFNBQVMsQ0FBQztZQUNULE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVTtZQUNqQyxHQUFHLEVBQUUsY0FBYyxDQUFDLFNBQVM7U0FDOUIsQ0FBQzthQUNELE9BQU8sRUFBRTthQUNULElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBRXBDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdkMsYUFBYSxDQUNZLENBQUE7UUFFM0IsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQTtRQUVoRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sRUFBRTthQUNsQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsc0JBQXNCLENBQUMsdUJBQXVCO1lBQ3RELEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxzQkFBc0I7U0FDbkQsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO1FBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUV6RSxNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLFdBQVcsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ2hFLENBQUM7YUFDQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQ3BCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxJQUFJO1NBQ2hDLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE1BQU0sWUFBWTthQUNmLG1CQUFtQixDQUFDO1lBQ25CLEtBQUs7U0FDTixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUE7UUFFWixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxZQUFZO2FBQ2YsbUJBQW1CLENBQUM7WUFDbkIsY0FBYyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQzFDO1lBQ0QsS0FBSztTQUNOLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVCLENBQUM7QUFDSCxDQUFDLENBQUE7QUE1RVksUUFBQSwwQkFBMEIsOEJBNEV0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB0eXBlIHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcblxuLy8gUmVsZXZhbnQgZmllbGRzIGZyb21cbi8vIGh0dHBzOi8vZG9jcy5hbWF6b25hd3MuY24vZW5fdXMvbGFtYmRhL2xhdGVzdC9kZy9zZXJ2aWNlcy1jb2RlcGlwZWxpbmUuaHRtbFxuaW50ZXJmYWNlIENvZGVQaXBlbGluZUV2ZW50IHtcbiAgXCJDb2RlUGlwZWxpbmUuam9iXCI6IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgLy8gSlNPTlxuICAgICAgICAgIFVzZXJQYXJhbWV0ZXJzOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0QXJ0aWZhY3RzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgb2JqZWN0S2V5OiBzdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1bXVxuICAgICAgYXJ0aWZhY3RDcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogc3RyaW5nXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogc3RyaW5nXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBDbG91ZEFzc2VtYmx5UmVmZXJlbmNlIHtcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgb2JqZWN0S2V5OiBzdHJpbmdcbn1cblxuLy8gVGhpcyBpcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBzZXJpYWxpemVkIGFzIGEgbGFtYmRhLlxuZXhwb3J0IGNvbnN0IGNsb3VkQXNzZW1ibHlMb29rdXBIYW5kbGVyOiBIYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsXG4gIGNvbnRleHQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIikgYXMgdHlwZW9mIGltcG9ydChcImF3cy1zZGtcIilcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKClcbiAgY29uc3QgY29kZXBpcGVsaW5lID0gbmV3IEFXUy5Db2RlUGlwZWxpbmUoKVxuXG4gIGNvbnN0IGpvYklkID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmlkXG5cbiAgdHJ5IHtcbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyc1JhdyA9XG4gICAgICBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5hY3Rpb25Db25maWd1cmF0aW9uLmNvbmZpZ3VyYXRpb25cbiAgICAgICAgLlVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zb2xlLmxvZyhcIlVzZXIgcGFyYW1ldGVyc1wiLCB1c2VyUGFyYW1ldGVyc1JhdylcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIHVzZXJQYXJhbWV0ZXJzUmF3LFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID0gYXdhaXQgczNcbiAgICAgIC5nZXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHVzZXJQYXJhbWV0ZXJzLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogdXNlclBhcmFtZXRlcnMub2JqZWN0S2V5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC50aGVuKChpdCkgPT4gaXQuQm9keSEudG9TdHJpbmcoKSlcblxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UgPSBKU09OLnBhcnNlKFxuICAgICAgcmVmZXJlbmNlRGF0YSxcbiAgICApIGFzIENsb3VkQXNzZW1ibHlSZWZlcmVuY2VcblxuICAgIGNvbnN0IG91dHB1dEFydGlmYWN0ID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEub3V0cHV0QXJ0aWZhY3RzWzBdXG4gICAgY29uc3QgczNMb2MgPSBvdXRwdXRBcnRpZmFjdC5sb2NhdGlvbi5zM0xvY2F0aW9uXG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5WmlwRGF0YSA9IGF3YWl0IHMzXG4gICAgICAuZ2V0T2JqZWN0KHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlNpemUgb2YgQ2xvdWQgQXNzZW1ibHlcIiwgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aClcblxuICAgIGF3YWl0IG5ldyBBV1MuUzMoe1xuICAgICAgY3JlZGVudGlhbHM6IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFydGlmYWN0Q3JlZGVudGlhbHMsXG4gICAgfSlcbiAgICAgIC5wdXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHMzTG9jLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogczNMb2Mub2JqZWN0S2V5LFxuICAgICAgICBCb2R5OiBjbG91ZEFzc2VtYmx5WmlwRGF0YS5Cb2R5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYlN1Y2Nlc3NSZXN1bHQoe1xuICAgICAgICBqb2JJZCxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NcIilcbiAgfSBjYXRjaCAoZSkge1xuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYkZhaWx1cmVSZXN1bHQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19
73
+ exports.handler = handler;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxrREFBK0Q7QUFDL0Qsc0VBSXFDO0FBQ3JDLHNEQUE2QztBQTBDdEMsTUFBTSxPQUFPLEdBQVksS0FBSyxFQUFFLEtBQXdCLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBUSxFQUFFLENBQUE7SUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdDQUFrQixFQUFFLENBQUE7SUFFbkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQy9CLGlCQUFpQixDQUNtQixDQUFBO1FBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtRQUM5QyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FDOUMsSUFBSSw0QkFBZ0IsQ0FBQztZQUNuQixNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVU7WUFDakMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FDSCxDQUFBO1FBQ0QsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sb0JBQW9C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cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHR5cGUgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGFcIlxuaW1wb3J0IHsgR2V0T2JqZWN0Q29tbWFuZCwgUzNDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCJcbmltcG9ydCB7XG4gIENvZGVQaXBlbGluZUNsaWVudCxcbiAgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQsXG4gIFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgeyBVcGxvYWQgfSBmcm9tIFwiQGF3cy1zZGsvbGliLXN0b3JhZ2VcIlxuXG4vLyBSZWxldmFudCBmaWVsZHMgZnJvbVxuLy8gaHR0cHM6Ly9kb2NzLmFtYXpvbmF3cy5jbi9lbl91cy9sYW1iZGEvbGF0ZXN0L2RnL3NlcnZpY2VzLWNvZGVwaXBlbGluZS5odG1sXG5pbnRlcmZhY2UgQ29kZVBpcGVsaW5lRXZlbnQge1xuICBcIkNvZGVQaXBlbGluZS5qb2JcIjoge1xuICAgIGlkOiBzdHJpbmdcbiAgICBkYXRhOiB7XG4gICAgICBhY3Rpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAvLyBKU09OXG4gICAgICAgICAgVXNlclBhcmFtZXRlcnM6IHN0cmluZ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXRwdXRBcnRpZmFjdHM6IHtcbiAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgICAgIGxvY2F0aW9uOiB7XG4gICAgICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gICAgICAgICAgICBvYmplY3RLZXk6IHN0cmluZ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVtdXG4gICAgICBhcnRpZmFjdENyZWRlbnRpYWxzOiB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiBzdHJpbmdcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiBzdHJpbmdcbiAgICAgICAgc2Vzc2lvblRva2VuOiBzdHJpbmdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlSZWZlcmVuY2Uge1xuICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gIGNsb3VkQXNzZW1ibHlCdWNrZXRLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBvYmplY3RLZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlcjogSGFuZGxlciA9IGFzeW5jIChldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsIGNvbnRleHQpID0+IHtcbiAgY29uc3QgczNDbGllbnQgPSBuZXcgUzNDbGllbnQoKVxuICBjb25zdCBjb2RlcGlwZWxpbmVDbGllbnQgPSBuZXcgQ29kZVBpcGVsaW5lQ2xpZW50KClcblxuICBjb25zdCBqb2JJZCA9IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5pZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnNSYXcgPVxuICAgICAgZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYWN0aW9uQ29uZmlndXJhdGlvbi5jb25maWd1cmF0aW9uXG4gICAgICAgIC5Vc2VyUGFyYW1ldGVyc1xuXG4gICAgY29uc29sZS5sb2coXCJVc2VyIHBhcmFtZXRlcnNcIiwgdXNlclBhcmFtZXRlcnNSYXcpXG5cbiAgICBjb25zb2xlLmxvZyhcIlBhcnNpbmcgdXNlciBwYXJhbWV0ZXJzXCIpXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnMgPSBKU09OLnBhcnNlKFxuICAgICAgdXNlclBhcmFtZXRlcnNSYXcsXG4gICAgKSBhcyBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnNcblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgcmVmZXJlbmNlIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGdldFJlZmVyZW5jZURhdGFSZXNwID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiB1c2VyUGFyYW1ldGVycy5idWNrZXROYW1lLFxuICAgICAgICBLZXk6IHVzZXJQYXJhbWV0ZXJzLm9iamVjdEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID1cbiAgICAgIGF3YWl0IGdldFJlZmVyZW5jZURhdGFSZXNwLkJvZHkhLnRyYW5zZm9ybVRvU3RyaW5nKFwidXRmLThcIilcblxuICAgIGNvbnNvbGUubG9nKFwiUGFyc2luZyByZWZlcmVuY2UgZGF0YSBmcm9tIFMzXCIpXG4gICAgY29uc3QgY2xvdWRBc3NlbWJseVJlZmVyZW5jZSA9IEpTT04ucGFyc2UoXG4gICAgICByZWZlcmVuY2VEYXRhLFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseVJlZmVyZW5jZVxuXG4gICAgY29uc3Qgb3V0cHV0QXJ0aWZhY3QgPSBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5vdXRwdXRBcnRpZmFjdHNbMF1cbiAgICBjb25zdCBzM0xvYyA9IG91dHB1dEFydGlmYWN0LmxvY2F0aW9uLnMzTG9jYXRpb25cblxuICAgIGNvbnNvbGUubG9nKFwiRmV0Y2hpbmcgQ2xvdWQgQXNzZW1ibHkgWklQIGRhdGEgZnJvbSBTM1wiKVxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlaaXBEYXRhID0gYXdhaXQgczNDbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRPYmplY3RDb21tYW5kKHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pLFxuICAgIClcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIFwiQ29udGVudC1MZW5ndGggb2YgQ2xvdWQgQXNzZW1ibHkgKGJ5dGVzKVwiLFxuICAgICAgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aCxcbiAgICApXG5cbiAgICBjb25zb2xlLmxvZyhcIkNyZWF0aW5nIGF1dGhlbnRpY2F0ZWQgUzMgY2xpZW50IGZvciBhcnRpZmFjdCB1cGxvYWRcIilcbiAgICBjb25zdCBhcnRpZmFjdENyZWRzID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEuYXJ0aWZhY3RDcmVkZW50aWFsc1xuICAgIGlmIChhcnRpZmFjdENyZWRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJObyBhcnRpZmFjdCBjcmVkZW50aWFscyBmb3VuZCBpbiBqb2IgZXZlbnRcIilcbiAgICB9XG4gICAgY29uc3QgYXV0aGVkUzNDbGllbnQgPSBuZXcgUzNDbGllbnQoe1xuICAgICAgY3JlZGVudGlhbHM6IGFydGlmYWN0Q3JlZHMsXG4gICAgfSlcblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYFVwbG9hZGluZyBDbG91ZCBBc3NlbWJseSBaSVAgdG8gczM6Ly8ke3MzTG9jLmJ1Y2tldE5hbWV9LyR7czNMb2Mub2JqZWN0S2V5fWAsXG4gICAgKVxuXG4gICAgY29uc3QgdXBsb2FkID0gbmV3IFVwbG9hZCh7XG4gICAgICBjbGllbnQ6IGF1dGhlZFMzQ2xpZW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIEJ1Y2tldDogczNMb2MuYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBzM0xvYy5vYmplY3RLZXksXG4gICAgICAgIEJvZHk6IGNsb3VkQXNzZW1ibHlaaXBEYXRhLkJvZHksXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICB1cGxvYWQub24oXCJodHRwVXBsb2FkUHJvZ3Jlc3NcIiwgKHByb2dyZXNzKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhwcm9ncmVzcylcbiAgICB9KVxuXG4gICAgYXdhaXQgdXBsb2FkLmRvbmUoKVxuXG4gICAgY29uc29sZS5sb2coXCJTZW5kaW5nIHN1Y2Nlc3MgcmVzdWx0IHRvIENvZGVQaXBlbGluZVwiKVxuICAgIGF3YWl0IGNvZGVwaXBlbGluZUNsaWVudC5zZW5kKFxuICAgICAgbmV3IFB1dEpvYlN1Y2Nlc3NSZXN1bHRDb21tYW5kKHtcbiAgICAgICAgam9iSWQsXG4gICAgICB9KSxcbiAgICApXG4gICAgY29uc29sZS5sb2coXCJTdWNjZXNzXCIpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmxvZyhcIlNlbmRpbmcgZmFpbHVyZSByZXN1bHQgdG8gQ29kZVBpcGVsaW5lXCIpXG4gICAgYXdhaXQgY29kZXBpcGVsaW5lQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgUHV0Sm9iRmFpbHVyZVJlc3VsdENvbW1hbmQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSksXG4gICAgKVxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19