@nikovirtala/projen-lambda-function-construct-generator 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -4485,6 +4485,6 @@
4485
4485
  "symbolId": "src/index:LambdaFunctionConstructGeneratorOptions"
4486
4486
  }
4487
4487
  },
4488
- "version": "0.0.0",
4489
- "fingerprint": "qTnQxJCwB0gaJz7mmQP3RfdP+0SBi5K//5azEa7WayY="
4488
+ "version": "0.0.1",
4489
+ "fingerprint": "sZFPcn/rr1kaINIOb1I8B6yj43MLWeKzmO2jfUbK6hk="
4490
4490
  }
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { BuildOptions } from "@mrgrain/cdk-esbuild";
1
+ import type { BuildOptions } from "@mrgrain/cdk-esbuild";
2
2
  import { Component } from "projen";
3
- import { NodeProject } from "projen/lib/javascript";
3
+ import type { NodeProject } from "projen/lib/javascript";
4
4
  /**
5
5
  * Options for the LambdaFunctionConstructGenerator
6
6
  */
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.LambdaFunctionConstructGenerator = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const path = require("path");
6
+ const path = require("node:path");
7
7
  const projen_1 = require("projen");
8
8
  /**
9
9
  * A projen component that generates AWS CDK Lambda Function constructs and bundles their code assets using esbuild.
@@ -38,7 +38,9 @@ class LambdaFunctionConstructGenerator extends projen_1.Component {
38
38
  */
39
39
  addDependencies(additionalPackage) {
40
40
  this.nodeProject.addDeps("aws-cdk-lib", "constructs");
41
- if (additionalPackage && additionalPackage !== "aws-cdk-lib" && additionalPackage !== "constructs") {
41
+ if (additionalPackage &&
42
+ additionalPackage !== "aws-cdk-lib" &&
43
+ additionalPackage !== "constructs") {
42
44
  this.nodeProject.addDeps(additionalPackage);
43
45
  }
44
46
  }
@@ -52,7 +54,9 @@ class LambdaFunctionConstructGenerator extends projen_1.Component {
52
54
  .replace(/\*/g, "")
53
55
  .replace(/\./g, "-")
54
56
  .replace(/[^\w-]/g, "");
55
- return `${dirPart}-${patternPart}`.replace(/--+/g, "-").replace(/^-|-$/g, "");
57
+ return `${dirPart}-${patternPart}`
58
+ .replace(/--+/g, "-")
59
+ .replace(/^-|-$/g, "");
56
60
  }
57
61
  /**
58
62
  * Create the bundle task that will be executed during projen build
@@ -241,5 +245,5 @@ main().catch(error => {
241
245
  }
242
246
  exports.LambdaFunctionConstructGenerator = LambdaFunctionConstructGenerator;
243
247
  _a = JSII_RTTI_SYMBOL_1;
244
- LambdaFunctionConstructGenerator[_a] = { fqn: "@nikovirtala/projen-lambda-function-construct-generator.LambdaFunctionConstructGenerator", version: "0.0.0" };
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFFN0IsbUNBQStDO0FBc0UvQzs7OztHQUlHO0FBQ0gsTUFBYSxnQ0FBaUMsU0FBUSxrQkFBUztJQVczRCxZQUFZLE9BQW9CLEVBQUUsT0FBaUQ7UUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksdUJBQXVCLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztRQUN0RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxFQUFFLG9CQUFvQixDQUFDO1FBRTFELCtEQUErRDtRQUMvRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsUUFBUSxLQUFLLENBQUMsQ0FBQztRQUVwRiw0QkFBNEI7UUFDNUIsSUFBSSxPQUFPLEVBQUUsZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FB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R0FBRyxJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQscURBQXFEO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFRDs7T0FFRztJQUNLLHVCQUF1QjtRQUMzQix1QkFBdUI7UUFDdkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCwwREFBMEQ7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RSxNQUFNLFFBQVEsR0FBRyx1QkFBdUIsUUFBUSxFQUFFLENBQUM7WUFDbkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7O0FBOVBMLDRFQStQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gXCJAbXJncmFpbi9jZGstZXNidWlsZFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBTb3VyY2VDb2RlIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi9qYXZhc2NyaXB0XCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIExhbWJkYUZ1bmN0aW9uQ29uc3RydWN0R2VuZXJhdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Db25zdHJ1Y3RHZW5lcmF0b3JPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBTb3VyY2UgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVycyBhcmUgbG9jYXRlZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgXCJzcmMvaGFuZGxlcnNcIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNvdXJjZURpcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE91dHB1dCBkaXJlY3Rvcnkgd2hlcmUgTGFtYmRhIEZ1bmN0aW9uIGNvbnN0cnVjdHMgd2lsbCBiZSBnZW5lcmF0ZWRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwic3JjL2NvbnN0cnVjdHMvbGFtYmRhXCJcbiAgICAgKi9cbiAgICByZWFkb25seSBvdXRwdXREaXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGaWxlIHBhdHRlcm4gdG8gaWRlbnRpZnkgTGFtYmRhIEZ1bmN0aW9uIGhhbmRsZXJzXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcIioubGFtYmRhLnRzXCJcbiAgICAgKi9cbiAgICByZWFkb25seSBmaWxlUGF0dGVybj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIGVzYnVpbGQgb3B0aW9ucyB0byBjdXN0b21pemUgdGhlIGJ1bmRsaW5nIHByb2Nlc3NcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHt9XG4gICAgICovXG4gICAgcmVhZG9ubHkgZXNidWlsZE9wdGlvbnM/OiBCdWlsZE9wdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgYWRkIHRoZSByZXF1aXJlZCBkZXBlbmRlbmNpZXNcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICByZWFkb25seSBhZGREZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSW1wb3J0IHN0YXRlbWVudCBmb3IgdGhlIGJhc2UgY29uc3RydWN0XG4gICAgICpcbiAgICAgKiBAZXhhbXBsZSBcImltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1wiXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImltcG9ydCB7IGF3c19sYW1iZGEgfSBmcm9tICdhd3MtY2RrLWxpYic7XCJcbiAgICAgKi9cbiAgICByZWFkb25seSBiYXNlQ29uc3RydWN0SW1wb3J0Pzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgY29uc3RydWN0IGNsYXNzIHRvIGV4dGVuZFxuICAgICAqXG4gICAgICogQGV4YW1wbGUgXCJOb2RlanNGdW5jdGlvblwiXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBcImF3c19sYW1iZGEuRnVuY3Rpb25cIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RDbGFzcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFBhY2thZ2UgbmFtZSB0byBhZGQgYXMgZGVwZW5kZW5jeSBmb3IgdGhlIGJhc2UgY29uc3RydWN0XG4gICAgICpcbiAgICAgKiBAZXhhbXBsZSBcImF3cy1jZGstbGliXCJcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiYXdzLWNkay1saWJcIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RQYWNrYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgcHJvamVuIGNvbXBvbmVudCB0aGF0IGdlbmVyYXRlcyBBV1MgQ0RLIExhbWJkYSBGdW5jdGlvbiBjb25zdHJ1Y3RzIGFuZCBidW5kbGVzIHRoZWlyIGNvZGUgYXNzZXRzIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogVGhlIGJ1bmRsaW5nIGhhcHBlbnMgZHVyaW5nIHByb2plbiBleGVjdXRpb24sIG5vdCBkdXJpbmcgQ0RLIHN5bnRoLCBlbmFibGluZyBhIFwiYnVpbGQgb25jZSwgZGVwbG95IG1hbnlcIiBwYXR0ZXJuLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRnVuY3Rpb25Db25zdHJ1Y3RHZW5lcmF0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VEaXI6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RGlyOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGVQYXR0ZXJuOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGVzYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gICAgcHVibGljIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RJbXBvcnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RDbGFzcz86IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdFBhY2thZ2U/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub2RlUHJvamVjdDogTm9kZVByb2plY3Q7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidW5kbGVyU2NyaXB0UGF0aDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbnN0cnVjdEdlbmVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG4gICAgICAgIHRoaXMubm9kZVByb2plY3QgPSBwcm9qZWN0O1xuICAgICAgICB0aGlzLnNvdXJjZURpciA9IG9wdGlvbnM/LnNvdXJjZURpciA/PyBcInNyYy9oYW5kbGVyc1wiO1xuICAgICAgICB0aGlzLm91dHB1dERpciA9IG9wdGlvbnM/Lm91dHB1dERpciA/PyBcInNyYy9jb25zdHJ1Y3RzL2xhbWJkYVwiO1xuICAgICAgICB0aGlzLmZpbGVQYXR0ZXJuID0gb3B0aW9ucz8uZmlsZVBhdHRlcm4gPz8gXCIqLmxhbWJkYS50c1wiO1xuICAgICAgICB0aGlzLmVzYnVpbGRPcHRpb25zID0gb3B0aW9ucz8uZXNidWlsZE9wdGlvbnMgPz8ge307XG4gICAgICAgIHRoaXMuYmFzZUNvbnN0cnVjdEltcG9ydCA9IG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RJbXBvcnQ7XG4gICAgICAgIHRoaXMuYmFzZUNvbnN0cnVjdENsYXNzID0gb3B0aW9ucz8uYmFzZUNvbnN0cnVjdENsYXNzO1xuICAgICAgICB0aGlzLmJhc2VDb25zdHJ1Y3RQYWNrYWdlID0gb3B0aW9ucz8uYmFzZUNvbnN0cnVjdFBhY2thZ2U7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHVuaXF1ZSBzY3JpcHQgbmFtZSBiYXNlZCBvbiBzb3VyY2VEaXIgYW5kIGZpbGVQYXR0ZXJuXG4gICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdGhpcy5jcmVhdGVVbmlxdWVJZCh0aGlzLnNvdXJjZURpciwgdGhpcy5maWxlUGF0dGVybik7XG4gICAgICAgIHRoaXMuYnVuZGxlclNjcmlwdFBhdGggPSBwYXRoLmpvaW4oXCIucHJvamVuXCIsIGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9LnRzYCk7XG5cbiAgICAgICAgLy8gQWRkIHJlcXVpcmVkIGRlcGVuZGVuY2llc1xuICAgICAgICBpZiAob3B0aW9ucz8uYWRkRGVwZW5kZW5jaWVzID8/IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkRGVwZW5kZW5jaWVzKG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RQYWNrYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgYnVuZGxlIHRhc2tcbiAgICAgICAgdGhpcy5jcmVhdGVCdW5kbGVUYXNrKCk7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBidW5kbGUgdGFzayB0byB0aGUgYnVpbGQgd29ya2Zsb3dcbiAgICAgICAgdGhpcy5hZGRCdW5kbGVUYXNrVG9Xb3JrZmxvdygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXF1aXJlZCBkZXBlbmRlbmNpZXMgZm9yIHRoZSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGFkZERlcGVuZGVuY2llcyhhZGRpdGlvbmFsUGFja2FnZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERlcHMoXCJhd3MtY2RrLWxpYlwiLCBcImNvbnN0cnVjdHNcIik7XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxQYWNrYWdlICYmIGFkZGl0aW9uYWxQYWNrYWdlICE9PSBcImF3cy1jZGstbGliXCIgJiYgYWRkaXRpb25hbFBhY2thZ2UgIT09IFwiY29uc3RydWN0c1wiKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERlcHMoYWRkaXRpb25hbFBhY2thZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgdW5pcXVlIElEIGJhc2VkIG9uIHNvdXJjZURpciBhbmQgZmlsZVBhdHRlcm5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZVVuaXF1ZUlkKHNvdXJjZURpcjogc3RyaW5nLCBmaWxlUGF0dGVybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gUmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBhbmQgY29udmVydCB0byBrZWJhYiBjYXNlXG4gICAgICAgIGNvbnN0IGRpclBhcnQgPSBzb3VyY2VEaXIucmVwbGFjZSgvXFwvL2csIFwiLVwiKS5yZXBsYWNlKC9bXlxcdy1dL2csIFwiXCIpO1xuICAgICAgICBjb25zdCBwYXR0ZXJuUGFydCA9IGZpbGVQYXR0ZXJuXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwuL2csIFwiLVwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1teXFx3LV0vZywgXCJcIik7XG4gICAgICAgIHJldHVybiBgJHtkaXJQYXJ0fS0ke3BhdHRlcm5QYXJ0fWAucmVwbGFjZSgvLS0rL2csIFwiLVwiKS5yZXBsYWNlKC9eLXwtJC9nLCBcIlwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgdGhlIGJ1bmRsZSB0YXNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBkdXJpbmcgcHJvamVuIGJ1aWxkXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVCdW5kbGVUYXNrKCkge1xuICAgICAgICBjb25zdCB1bmlxdWVJZCA9IHRoaXMuY3JlYXRlVW5pcXVlSWQodGhpcy5zb3VyY2VEaXIsIHRoaXMuZmlsZVBhdHRlcm4pO1xuICAgICAgICBjb25zdCB0YXNrTmFtZSA9IGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9YDtcblxuICAgICAgICBsZXQgYmFzZUNvbnN0cnVjdEFyZ3MgPSBcIlwiO1xuICAgICAgICBpZiAodGhpcy5iYXNlQ29uc3RydWN0SW1wb3J0KSB7XG4gICAgICAgICAgICBiYXNlQ29uc3RydWN0QXJncyArPSBgIC0tYmFzZS1jb25zdHJ1Y3QtaW1wb3J0ICcke3RoaXMuYmFzZUNvbnN0cnVjdEltcG9ydH0nYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5iYXNlQ29uc3RydWN0Q2xhc3MpIHtcbiAgICAgICAgICAgIGJhc2VDb25zdHJ1Y3RBcmdzICs9IGAgLS1iYXNlLWNvbnN0cnVjdC1jbGFzcyAnJHt0aGlzLmJhc2VDb25zdHJ1Y3RDbGFzc30nYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LmFkZFRhc2sodGFza05hbWUsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgR2VuZXJhdGUgTGFtYmRhIEZ1bmN0aW9uIENvbnN0cnVjdHMgZnJvbSAke3RoaXMuc291cmNlRGlyfS8ke3RoaXMuZmlsZVBhdHRlcm59IGFuZCBidW5kbGUgdGhlaXIgaGFuZGxlcnNgLFxuICAgICAgICAgICAgZXhlYzogYHRzeCAtLXRzY29uZmlnIHRzY29uZmlnLmRldi5qc29uICR7dGhpcy5idW5kbGVyU2NyaXB0UGF0aH0gLS1zb3VyY2UtZGlyICR7dGhpcy5zb3VyY2VEaXJ9IC0tb3V0cHV0LWRpciAke3RoaXMub3V0cHV0RGlyfSAtLWZpbGUtcGF0dGVybiBcIiR7dGhpcy5maWxlUGF0dGVybn1cIiAtLWVzYnVpbGQtb3B0aW9ucyAnJHtKU09OLnN0cmluZ2lmeSh0aGlzLmVzYnVpbGRPcHRpb25zKX0nJHtiYXNlQ29uc3RydWN0QXJnc31gLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBDcmVhdGUgdGhlIGJ1bmRsZXIgc2NyaXB0XG4gICAgICAgIHRoaXMuY3JlYXRlQnVuZGxlclNjcmlwdCgpO1xuXG4gICAgICAgIHJldHVybiBidW5kbGVUYXNrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSB0aGUgYnVuZGxlciBzY3JpcHQgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkIGJ5IHRoZSBidW5kbGUgdGFza1xuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlQnVuZGxlclNjcmlwdCgpIHtcbiAgICAgICAgY29uc3QgYnVuZGxlclNjcmlwdCA9IGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBlc2J1aWxkIGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tICdjaGFuZ2UtY2FzZSc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MveWFyZ3MnO1xuaW1wb3J0IHsgaGlkZUJpbiB9IGZyb20gJ3lhcmdzL2hlbHBlcnMnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmd2ID0gYXdhaXQgeWFyZ3MoaGlkZUJpbihwcm9jZXNzLmFyZ3YpKVxuICAgIC5vcHRpb24oJ3NvdXJjZS1kaXInLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnc3JjL2hhbmRsZXJzJywgZGVzY3JpcHRpb246ICdTb3VyY2UgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVycyBhcmUgbG9jYXRlZCcgfSlcbiAgICAub3B0aW9uKCdvdXRwdXQtZGlyJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3NyYy9jb25zdHJ1Y3RzL2xhbWJkYScsIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGRpcmVjdG9yeSB3aGVyZSBMYW1iZGEgRnVuY3Rpb24gY29uc3RydWN0cyB3aWxsIGJlIGdlbmVyYXRlZCcgfSlcbiAgICAub3B0aW9uKCdmaWxlLXBhdHRlcm4nLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnKi5sYW1iZGEudHMnLCBkZXNjcmlwdGlvbjogJ0ZpbGUgcGF0dGVybiB0byBpZGVudGlmeSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlcnMnIH0pXG4gICAgLm9wdGlvbignZXNidWlsZC1vcHRpb25zJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3t9JywgZGVzY3JpcHRpb246ICdlc2J1aWxkIG9wdGlvbnMgYXMgSlNPTiBzdHJpbmcnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtaW1wb3J0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdJbXBvcnQgc3RhdGVtZW50IGZvciB0aGUgYmFzZSBjb25zdHJ1Y3QnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtY2xhc3MnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGNvbnN0cnVjdCBjbGFzcyB0byBleHRlbmQnIH0pXG4gICAgLmhlbHAoKVxuICAgIC5wYXJzZSgpO1xuXG4gIGNvbnN0IHNvdXJjZURpciA9IGFyZ3ZbJ3NvdXJjZS1kaXInXTtcbiAgY29uc3Qgb3V0cHV0RGlyID0gYXJndlsnb3V0cHV0LWRpciddO1xuICBjb25zdCBmaWxlUGF0dGVybiA9IGFyZ3ZbJ2ZpbGUtcGF0dGVybiddO1xuICBjb25zdCBlc2J1aWxkT3B0aW9ucyA9IEpTT04ucGFyc2UoYXJndlsnZXNidWlsZC1vcHRpb25zJ10gYXMgc3RyaW5nKTtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdEltcG9ydCA9IGFyZ3ZbJ2Jhc2UtY29uc3RydWN0LWltcG9ydCddIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdENsYXNzID0gYXJndlsnYmFzZS1jb25zdHJ1Y3QtY2xhc3MnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gRW5zdXJlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzXG4gIGZzLm1rZGlyU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgb3V0cHV0RGlyKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgLy8gRW5zdXJlIGFzc2V0cyBkaXJlY3RvcnkgZXhpc3RzXG4gIGNvbnN0IGFzc2V0c0RpciA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnYXNzZXRzJywgJ2hhbmRsZXJzJyk7XG4gIGZzLm1rZGlyU3luYyhhc3NldHNEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIC8vIEZpbmQgYWxsIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVyIGZpbGVzXG4gIGNvbnN0IGhhbmRsZXJGaWxlcyA9IGdsb2Iuc3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgc291cmNlRGlyLCBmaWxlUGF0dGVybikpO1xuXG4gIGNvbnNvbGUubG9nKFxcYEZvdW5kIFxcJHtoYW5kbGVyRmlsZXMubGVuZ3RofSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlciBmaWxlc1xcYCk7XG5cbiAgLy8gUHJvY2VzcyBlYWNoIGhhbmRsZXIgZmlsZVxuICBmb3IgKGNvbnN0IGhhbmRsZXJGaWxlIG9mIGhhbmRsZXJGaWxlcykge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHNvdXJjZURpciksIGhhbmRsZXJGaWxlKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguYmFzZW5hbWUocmVsYXRpdmVQYXRoLCBwYXRoLmV4dG5hbWUocmVsYXRpdmVQYXRoKSk7XG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gZmlsZU5hbWUucmVwbGFjZSgnLmxhbWJkYScsICcnKTtcblxuICAgIGNvbnNvbGUubG9nKFxcYFByb2Nlc3NpbmcgTGFtYmRhIEZ1bmN0aW9uIGhhbmRsZXI6IFxcJHtmdW5jdGlvbk5hbWV9XFxgKTtcblxuICAgIC8vIENyZWF0ZSBmdW5jdGlvbi1zcGVjaWZpYyBkaXJlY3RvcnlcbiAgICBjb25zdCBmdW5jdGlvbkRpciA9IHBhdGguam9pbihhc3NldHNEaXIsIGZ1bmN0aW9uTmFtZSk7XG4gICAgZnMubWtkaXJTeW5jKGZ1bmN0aW9uRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIEJ1bmRsZSB0aGUgaGFuZGxlciBjb2RlIHRvIGluZGV4LmpzIGluIHRoZSBmdW5jdGlvbiBkaXJlY3RvcnlcbiAgICBjb25zdCBvdXRmaWxlID0gcGF0aC5qb2luKGZ1bmN0aW9uRGlyLCAnaW5kZXguanMnKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgICAgZW50cnlQb2ludHM6IFtoYW5kbGVyRmlsZV0sXG4gICAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgICB0YXJnZXQ6ICdub2RlMTgnLFxuICAgICAgICBvdXRmaWxlLFxuICAgICAgICAuLi5lc2J1aWxkT3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhcXGBTdWNjZXNzZnVsbHkgYnVuZGxlZCBcXCR7ZnVuY3Rpb25OYW1lfSB0byBcXCR7b3V0ZmlsZX1cXGApO1xuXG4gICAgICAvLyBHZW5lcmF0ZSB0aGUgQ0RLIGNvbnN0cnVjdFxuICAgICAgY29uc3QgY29uc3RydWN0RmlsZVBhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgb3V0cHV0RGlyLCBcXGBcXCR7ZnVuY3Rpb25OYW1lfS50c1xcYCk7XG4gICAgICBjb25zdCBjb25zdHJ1Y3RDb2RlID0gZ2VuZXJhdGVDb25zdHJ1Y3RDb2RlKGZ1bmN0aW9uTmFtZSwgcmVsYXRpdmVQYXRoLCBiYXNlQ29uc3RydWN0SW1wb3J0LCBiYXNlQ29uc3RydWN0Q2xhc3MpO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGNvbnN0cnVjdEZpbGVQYXRoLCBjb25zdHJ1Y3RDb2RlKTtcbiAgICAgIGNvbnNvbGUubG9nKFxcYEdlbmVyYXRlZCBjb25zdHJ1Y3QgYXQgXFwke2NvbnN0cnVjdEZpbGVQYXRofVxcYCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXFxgRXJyb3IgcHJvY2Vzc2luZyBcXCR7ZnVuY3Rpb25OYW1lfTpcXGAsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVDb25zdHJ1Y3RDb2RlKGZ1bmN0aW9uTmFtZTogc3RyaW5nLCBoYW5kbGVyUGF0aDogc3RyaW5nLCBiYXNlQ29uc3RydWN0SW1wb3J0Pzogc3RyaW5nLCBiYXNlQ29uc3RydWN0Q2xhc3M/OiBzdHJpbmcpIHtcbiAgY29uc3QgY29uc3RydWN0TmFtZSA9IFxcYFxcJHtwYXNjYWxDYXNlKGZ1bmN0aW9uTmFtZSl9RnVuY3Rpb25cXGA7XG5cbiAgLy8gRGVmYXVsdCB2YWx1ZXMgaWYgbm8gYmFzZUNvbnN0cnVjdCBpcyBwcm92aWRlZFxuICBjb25zdCBpbXBvcnRTdGF0ZW1lbnQgPSBiYXNlQ29uc3RydWN0SW1wb3J0ID8/IFwiXCI7XG4gIGNvbnN0IGJhc2VDbGFzc05hbWUgPSBiYXNlQ29uc3RydWN0Q2xhc3MgPz8gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCI7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHdlIG5lZWQgdG8gdXNlIGF3c19sYW1iZGEuUnVudGltZSBvciBub3QgYmFzZWQgb24gdGhlIGJhc2UgY2xhc3NcbiAgY29uc3QgdXNlQXdzTGFtYmRhUnVudGltZSA9ICFiYXNlQ29uc3RydWN0Q2xhc3MgfHwgYmFzZUNsYXNzTmFtZS5pbmNsdWRlcyhcIkZ1bmN0aW9uXCIpO1xuXG4gIHJldHVybiBcXGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAndXJsJztcblxcJHtpbXBvcnRTdGF0ZW1lbnR9XG5pbXBvcnQgeyBhd3NfbGFtYmRhIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8vIEVTIE1vZHVsZSBjb21wYXRpYmlsaXR5XG5jb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpO1xuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKF9fZmlsZW5hbWUpO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFxcJHtjb25zdHJ1Y3ROYW1lfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFxcJHtjb25zdHJ1Y3ROYW1lfVByb3BzIGV4dGVuZHMgT21pdDxcXCR7YmFzZUNsYXNzTmFtZSA9PT0gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCIgPyBcImF3c19sYW1iZGEuRnVuY3Rpb25Qcm9wc1wiIDogXFxgXFwke2Jhc2VDbGFzc05hbWV9UHJvcHNcXGB9LCAnY29kZSdcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFwiIHwgJ3J1bnRpbWUnXCIgOiBcIlwifSB8ICdoYW5kbGVyJz4ge1xuICBcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFxcYC8qKlxuICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBydW50aW1lXG4gICAqIEBkZWZhdWx0IG5vZGVqczIyLnhcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBhd3NfbGFtYmRhLlJ1bnRpbWU7XFxgIDogXCJcIn1cbn1cblxuLyoqXG4gKiBcXCR7Y29uc3RydWN0TmFtZX0gLSBMYW1iZGEgRnVuY3Rpb24gQ29uc3RydWN0IGZvciBcXCR7aGFuZGxlclBhdGh9XG4gKi9cbmV4cG9ydCBjbGFzcyBcXCR7Y29uc3RydWN0TmFtZX0gZXh0ZW5kcyBcXCR7YmFzZUNsYXNzTmFtZX0ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogXFwke2NvbnN0cnVjdE5hbWV9UHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFwicnVudGltZTogcHJvcHMucnVudGltZSA/PyBhd3NfbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXCIgOiBcIlwifVxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogYXdzX2xhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vLi4vYXNzZXRzL2hhbmRsZXJzL1xcJHtmdW5jdGlvbk5hbWV9JykpLFxuICAgIH0pO1xuICB9XG59XG5cXGA7XG59XG5cbm1haW4oKS5jYXRjaChlcnJvciA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG5gO1xuXG4gICAgICAgIC8vIENyZWF0ZSBzb3VyY2UgY29kZSBmaWxlIGFuZCBhZGQgY29kZSBsaW5lcyB0byBpdFxuICAgICAgICBjb25zdCBzcmMgPSBuZXcgU291cmNlQ29kZSh0aGlzLnByb2plY3QsIHRoaXMuYnVuZGxlclNjcmlwdFBhdGgpO1xuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1bmRsZXJTY3JpcHQuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgICAgc3JjLmxpbmUobGluZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgdGhlIGRlcGVuZGVuY2llcyBuZWVkZWQgZm9yIHRoZSBidW5kbGVyIHNjcmlwdFxuICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERldkRlcHMoXCJlc2J1aWxkXCIsIFwiZ2xvYlwiLCBcInlhcmdzXCIsIFwiQHR5cGVzL2dsb2JcIiwgXCJAdHlwZXMveWFyZ3NcIiwgXCJ0c3hcIiwgXCJjaGFuZ2UtY2FzZVwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGJ1bmRsZSB0YXNrIHRvIHRoZSBidWlsZCB3b3JrZmxvd1xuICAgICAqL1xuICAgIHByaXZhdGUgYWRkQnVuZGxlVGFza1RvV29ya2Zsb3coKSB7XG4gICAgICAgIC8vIEdldCB0aGUgY29tcGlsZSB0YXNrXG4gICAgICAgIGNvbnN0IGNvbXBpbGVUYXNrID0gdGhpcy5ub2RlUHJvamVjdC50YXNrcy50cnlGaW5kKFwiY29tcGlsZVwiKTtcblxuICAgICAgICBpZiAoY29tcGlsZVRhc2spIHtcbiAgICAgICAgICAgIC8vIEFkZCB0aGUgYnVuZGxlIHRhc2sgYXMgYSBkZXBlbmRlbmN5IG9mIHRoZSBjb21waWxlIHRhc2tcbiAgICAgICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdGhpcy5jcmVhdGVVbmlxdWVJZCh0aGlzLnNvdXJjZURpciwgdGhpcy5maWxlUGF0dGVybik7XG4gICAgICAgICAgICBjb25zdCB0YXNrTmFtZSA9IGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9YDtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LnRhc2tzLnRyeUZpbmQodGFza05hbWUpO1xuICAgICAgICAgICAgaWYgKGJ1bmRsZVRhc2spIHtcbiAgICAgICAgICAgICAgICBjb21waWxlVGFzay5wcmVwZW5kU3Bhd24oYnVuZGxlVGFzayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
248
+ LambdaFunctionConstructGenerator[_a] = { fqn: "@nikovirtala/projen-lambda-function-construct-generator.LambdaFunctionConstructGenerator", version: "0.0.1" };
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBa0M7QUFFbEMsbUNBQStDO0FBc0UvQzs7OztHQUlHO0FBQ0gsTUFBYSxnQ0FBaUMsU0FBUSxrQkFBUztJQVc5RCxZQUNDLE9BQW9CLEVBQ3BCLE9BQWlEO1FBRWpELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsSUFBSSxjQUFjLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLHVCQUF1QixDQUFDO1FBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsSUFBSSxhQUFhLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxFQUFFLG1CQUFtQixDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLEVBQUUsa0JBQWtCLENBQUM7UUFDdEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQztRQUUxRCwrREFBK0Q7UUFDL0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDakMsU0FBUyxFQUNULHVCQUF1QixRQUFRLEtBQUssQ0FDcEMsQ0FBQztRQUVGLDRCQUE0QjtRQUM1QixJQUFJLE9BQU8sRUFBRSxlQUFlLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxD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LEdBQUcsR0FBRyxJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQscURBQXFEO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUMxQixTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sRUFDUCxhQUFhLEVBQ2IsY0FBYyxFQUNkLEtBQUssRUFDTCxhQUFhLENBQ2IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLHVCQUF1QjtRQUM5Qix1QkFBdUI7UUFDdkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxFQUFFLENBQUM7WUFDakIsMERBQTBEO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLFFBQVEsRUFBRSxDQUFDO1lBQ25ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQzs7QUFsUkYsNEVBbVJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gXCJAbXJncmFpbi9jZGstZXNidWlsZFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBTb3VyY2VDb2RlIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL2phdmFzY3JpcHRcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgTGFtYmRhRnVuY3Rpb25Db25zdHJ1Y3RHZW5lcmF0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbnN0cnVjdEdlbmVyYXRvck9wdGlvbnMge1xuXHQvKipcblx0ICogU291cmNlIGRpcmVjdG9yeSB3aGVyZSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlcnMgYXJlIGxvY2F0ZWRcblx0ICpcblx0ICogQGRlZmF1bHQgXCJzcmMvaGFuZGxlcnNcIlxuXHQgKi9cblx0cmVhZG9ubHkgc291cmNlRGlyPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBPdXRwdXQgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBjb25zdHJ1Y3RzIHdpbGwgYmUgZ2VuZXJhdGVkXG5cdCAqXG5cdCAqIEBkZWZhdWx0IFwic3JjL2NvbnN0cnVjdHMvbGFtYmRhXCJcblx0ICovXG5cdHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcblxuXHQvKipcblx0ICogRmlsZSBwYXR0ZXJuIHRvIGlkZW50aWZ5IExhbWJkYSBGdW5jdGlvbiBoYW5kbGVyc1xuXHQgKlxuXHQgKiBAZGVmYXVsdCBcIioubGFtYmRhLnRzXCJcblx0ICovXG5cdHJlYWRvbmx5IGZpbGVQYXR0ZXJuPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBlc2J1aWxkIG9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSBidW5kbGluZyBwcm9jZXNzXG5cdCAqXG5cdCAqIEBkZWZhdWx0IHt9XG5cdCAqL1xuXHRyZWFkb25seSBlc2J1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucztcblxuXHQvKipcblx0ICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IGFkZCB0aGUgcmVxdWlyZWQgZGVwZW5kZW5jaWVzXG5cdCAqXG5cdCAqIEBkZWZhdWx0IHRydWVcblx0ICovXG5cdHJlYWRvbmx5IGFkZERlcGVuZGVuY2llcz86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEltcG9ydCBzdGF0ZW1lbnQgZm9yIHRoZSBiYXNlIGNvbnN0cnVjdFxuXHQgKlxuXHQgKiBAZXhhbXBsZSBcImltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1wiXG5cdCAqXG5cdCAqIEBkZWZhdWx0IFwiaW1wb3J0IHsgYXdzX2xhbWJkYSB9IGZyb20gJ2F3cy1jZGstbGliJztcIlxuXHQgKi9cblx0cmVhZG9ubHkgYmFzZUNvbnN0cnVjdEltcG9ydD86IHN0cmluZztcblxuXHQvKipcblx0ICogTmFtZSBvZiB0aGUgY29uc3RydWN0IGNsYXNzIHRvIGV4dGVuZFxuXHQgKlxuXHQgKiBAZXhhbXBsZSBcIk5vZGVqc0Z1bmN0aW9uXCJcblx0ICpcblx0ICogQGRlZmF1bHQgXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCJcblx0ICovXG5cdHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RDbGFzcz86IHN0cmluZztcblxuXHQvKipcblx0ICogUGFja2FnZSBuYW1lIHRvIGFkZCBhcyBkZXBlbmRlbmN5IGZvciB0aGUgYmFzZSBjb25zdHJ1Y3Rcblx0ICpcblx0ICogQGV4YW1wbGUgXCJhd3MtY2RrLWxpYlwiXG5cdCAqXG5cdCAqIEBkZWZhdWx0IFwiYXdzLWNkay1saWJcIlxuXHQgKi9cblx0cmVhZG9ubHkgYmFzZUNvbnN0cnVjdFBhY2thZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBwcm9qZW4gY29tcG9uZW50IHRoYXQgZ2VuZXJhdGVzIEFXUyBDREsgTGFtYmRhIEZ1bmN0aW9uIGNvbnN0cnVjdHMgYW5kIGJ1bmRsZXMgdGhlaXIgY29kZSBhc3NldHMgdXNpbmcgZXNidWlsZC5cbiAqXG4gKiBUaGUgYnVuZGxpbmcgaGFwcGVucyBkdXJpbmcgcHJvamVuIGV4ZWN1dGlvbiwgbm90IGR1cmluZyBDREsgc3ludGgsIGVuYWJsaW5nIGEgXCJidWlsZCBvbmNlLCBkZXBsb3kgbWFueVwiIHBhdHRlcm4uXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvbnN0cnVjdEdlbmVyYXRvciBleHRlbmRzIENvbXBvbmVudCB7XG5cdHB1YmxpYyByZWFkb25seSBzb3VyY2VEaXI6IHN0cmluZztcblx0cHVibGljIHJlYWRvbmx5IG91dHB1dERpcjogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgZmlsZVBhdHRlcm46IHN0cmluZztcblx0cHVibGljIHJlYWRvbmx5IGVzYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG5cdHB1YmxpYyByZWFkb25seSBiYXNlQ29uc3RydWN0SW1wb3J0Pzogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdENsYXNzPzogc3RyaW5nO1xuXHRwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdFBhY2thZ2U/OiBzdHJpbmc7XG5cdHByaXZhdGUgcmVhZG9ubHkgbm9kZVByb2plY3Q6IE5vZGVQcm9qZWN0O1xuXHRwcml2YXRlIHJlYWRvbmx5IGJ1bmRsZXJTY3JpcHRQYXRoOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvamVjdDogTm9kZVByb2plY3QsXG5cdFx0b3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29uc3RydWN0R2VuZXJhdG9yT3B0aW9ucyxcblx0KSB7XG5cdFx0c3VwZXIocHJvamVjdCk7XG5cdFx0dGhpcy5ub2RlUHJvamVjdCA9IHByb2plY3Q7XG5cdFx0dGhpcy5zb3VyY2VEaXIgPSBvcHRpb25zPy5zb3VyY2VEaXIgPz8gXCJzcmMvaGFuZGxlcnNcIjtcblx0XHR0aGlzLm91dHB1dERpciA9IG9wdGlvbnM/Lm91dHB1dERpciA/PyBcInNyYy9jb25zdHJ1Y3RzL2xhbWJkYVwiO1xuXHRcdHRoaXMuZmlsZVBhdHRlcm4gPSBvcHRpb25zPy5maWxlUGF0dGVybiA/PyBcIioubGFtYmRhLnRzXCI7XG5cdFx0dGhpcy5lc2J1aWxkT3B0aW9ucyA9IG9wdGlvbnM/LmVzYnVpbGRPcHRpb25zID8/IHt9O1xuXHRcdHRoaXMuYmFzZUNvbnN0cnVjdEltcG9ydCA9IG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RJbXBvcnQ7XG5cdFx0dGhpcy5iYXNlQ29uc3RydWN0Q2xhc3MgPSBvcHRpb25zPy5iYXNlQ29uc3RydWN0Q2xhc3M7XG5cdFx0dGhpcy5iYXNlQ29uc3RydWN0UGFja2FnZSA9IG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RQYWNrYWdlO1xuXG5cdFx0Ly8gQ3JlYXRlIHVuaXF1ZSBzY3JpcHQgbmFtZSBiYXNlZCBvbiBzb3VyY2VEaXIgYW5kIGZpbGVQYXR0ZXJuXG5cdFx0Y29uc3QgdW5pcXVlSWQgPSB0aGlzLmNyZWF0ZVVuaXF1ZUlkKHRoaXMuc291cmNlRGlyLCB0aGlzLmZpbGVQYXR0ZXJuKTtcblx0XHR0aGlzLmJ1bmRsZXJTY3JpcHRQYXRoID0gcGF0aC5qb2luKFxuXHRcdFx0XCIucHJvamVuXCIsXG5cdFx0XHRgZ2VuZXJhdGUtYW5kLWJ1bmRsZS0ke3VuaXF1ZUlkfS50c2AsXG5cdFx0KTtcblxuXHRcdC8vIEFkZCByZXF1aXJlZCBkZXBlbmRlbmNpZXNcblx0XHRpZiAob3B0aW9ucz8uYWRkRGVwZW5kZW5jaWVzID8/IHRydWUpIHtcblx0XHRcdHRoaXMuYWRkRGVwZW5kZW5jaWVzKG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RQYWNrYWdlKTtcblx0XHR9XG5cblx0XHQvLyBDcmVhdGUgdGhlIGJ1bmRsZSB0YXNrXG5cdFx0dGhpcy5jcmVhdGVCdW5kbGVUYXNrKCk7XG5cblx0XHQvLyBBZGQgdGhlIGJ1bmRsZSB0YXNrIHRvIHRoZSBidWlsZCB3b3JrZmxvd1xuXHRcdHRoaXMuYWRkQnVuZGxlVGFza1RvV29ya2Zsb3coKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgcmVxdWlyZWQgZGVwZW5kZW5jaWVzIGZvciB0aGUgY29tcG9uZW50XG5cdCAqL1xuXHRwcml2YXRlIGFkZERlcGVuZGVuY2llcyhhZGRpdGlvbmFsUGFja2FnZT86IHN0cmluZykge1xuXHRcdHRoaXMubm9kZVByb2plY3QuYWRkRGVwcyhcImF3cy1jZGstbGliXCIsIFwiY29uc3RydWN0c1wiKTtcblxuXHRcdGlmIChcblx0XHRcdGFkZGl0aW9uYWxQYWNrYWdlICYmXG5cdFx0XHRhZGRpdGlvbmFsUGFja2FnZSAhPT0gXCJhd3MtY2RrLWxpYlwiICYmXG5cdFx0XHRhZGRpdGlvbmFsUGFja2FnZSAhPT0gXCJjb25zdHJ1Y3RzXCJcblx0XHQpIHtcblx0XHRcdHRoaXMubm9kZVByb2plY3QuYWRkRGVwcyhhZGRpdGlvbmFsUGFja2FnZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZSBhIHVuaXF1ZSBJRCBiYXNlZCBvbiBzb3VyY2VEaXIgYW5kIGZpbGVQYXR0ZXJuXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZVVuaXF1ZUlkKHNvdXJjZURpcjogc3RyaW5nLCBmaWxlUGF0dGVybjogc3RyaW5nKTogc3RyaW5nIHtcblx0XHQvLyBSZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGFuZCBjb252ZXJ0IHRvIGtlYmFiIGNhc2Vcblx0XHRjb25zdCBkaXJQYXJ0ID0gc291cmNlRGlyLnJlcGxhY2UoL1xcLy9nLCBcIi1cIikucmVwbGFjZSgvW15cXHctXS9nLCBcIlwiKTtcblx0XHRjb25zdCBwYXR0ZXJuUGFydCA9IGZpbGVQYXR0ZXJuXG5cdFx0XHQucmVwbGFjZSgvXFwqL2csIFwiXCIpXG5cdFx0XHQucmVwbGFjZSgvXFwuL2csIFwiLVwiKVxuXHRcdFx0LnJlcGxhY2UoL1teXFx3LV0vZywgXCJcIik7XG5cdFx0cmV0dXJuIGAke2RpclBhcnR9LSR7cGF0dGVyblBhcnR9YFxuXHRcdFx0LnJlcGxhY2UoLy0tKy9nLCBcIi1cIilcblx0XHRcdC5yZXBsYWNlKC9eLXwtJC9nLCBcIlwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGUgdGhlIGJ1bmRsZSB0YXNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBkdXJpbmcgcHJvamVuIGJ1aWxkXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZUJ1bmRsZVRhc2soKSB7XG5cdFx0Y29uc3QgdW5pcXVlSWQgPSB0aGlzLmNyZWF0ZVVuaXF1ZUlkKHRoaXMuc291cmNlRGlyLCB0aGlzLmZpbGVQYXR0ZXJuKTtcblx0XHRjb25zdCB0YXNrTmFtZSA9IGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9YDtcblxuXHRcdGxldCBiYXNlQ29uc3RydWN0QXJncyA9IFwiXCI7XG5cdFx0aWYgKHRoaXMuYmFzZUNvbnN0cnVjdEltcG9ydCkge1xuXHRcdFx0YmFzZUNvbnN0cnVjdEFyZ3MgKz0gYCAtLWJhc2UtY29uc3RydWN0LWltcG9ydCAnJHt0aGlzLmJhc2VDb25zdHJ1Y3RJbXBvcnR9J2A7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmJhc2VDb25zdHJ1Y3RDbGFzcykge1xuXHRcdFx0YmFzZUNvbnN0cnVjdEFyZ3MgKz0gYCAtLWJhc2UtY29uc3RydWN0LWNsYXNzICcke3RoaXMuYmFzZUNvbnN0cnVjdENsYXNzfSdgO1xuXHRcdH1cblxuXHRcdGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LmFkZFRhc2sodGFza05hbWUsIHtcblx0XHRcdGRlc2NyaXB0aW9uOiBgR2VuZXJhdGUgTGFtYmRhIEZ1bmN0aW9uIENvbnN0cnVjdHMgZnJvbSAke3RoaXMuc291cmNlRGlyfS8ke3RoaXMuZmlsZVBhdHRlcm59IGFuZCBidW5kbGUgdGhlaXIgaGFuZGxlcnNgLFxuXHRcdFx0ZXhlYzogYHRzeCAtLXRzY29uZmlnIHRzY29uZmlnLmRldi5qc29uICR7dGhpcy5idW5kbGVyU2NyaXB0UGF0aH0gLS1zb3VyY2UtZGlyICR7dGhpcy5zb3VyY2VEaXJ9IC0tb3V0cHV0LWRpciAke3RoaXMub3V0cHV0RGlyfSAtLWZpbGUtcGF0dGVybiBcIiR7dGhpcy5maWxlUGF0dGVybn1cIiAtLWVzYnVpbGQtb3B0aW9ucyAnJHtKU09OLnN0cmluZ2lmeSh0aGlzLmVzYnVpbGRPcHRpb25zKX0nJHtiYXNlQ29uc3RydWN0QXJnc31gLFxuXHRcdH0pO1xuXG5cdFx0Ly8gQ3JlYXRlIHRoZSBidW5kbGVyIHNjcmlwdFxuXHRcdHRoaXMuY3JlYXRlQnVuZGxlclNjcmlwdCgpO1xuXG5cdFx0cmV0dXJuIGJ1bmRsZVRhc2s7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlIHRoZSBidW5kbGVyIHNjcmlwdCB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgYnkgdGhlIGJ1bmRsZSB0YXNrXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZUJ1bmRsZXJTY3JpcHQoKSB7XG5cdFx0Y29uc3QgYnVuZGxlclNjcmlwdCA9IGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBlc2J1aWxkIGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tICdjaGFuZ2UtY2FzZSc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MveWFyZ3MnO1xuaW1wb3J0IHsgaGlkZUJpbiB9IGZyb20gJ3lhcmdzL2hlbHBlcnMnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmd2ID0gYXdhaXQgeWFyZ3MoaGlkZUJpbihwcm9jZXNzLmFyZ3YpKVxuICAgIC5vcHRpb24oJ3NvdXJjZS1kaXInLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnc3JjL2hhbmRsZXJzJywgZGVzY3JpcHRpb246ICdTb3VyY2UgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVycyBhcmUgbG9jYXRlZCcgfSlcbiAgICAub3B0aW9uKCdvdXRwdXQtZGlyJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3NyYy9jb25zdHJ1Y3RzL2xhbWJkYScsIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGRpcmVjdG9yeSB3aGVyZSBMYW1iZGEgRnVuY3Rpb24gY29uc3RydWN0cyB3aWxsIGJlIGdlbmVyYXRlZCcgfSlcbiAgICAub3B0aW9uKCdmaWxlLXBhdHRlcm4nLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnKi5sYW1iZGEudHMnLCBkZXNjcmlwdGlvbjogJ0ZpbGUgcGF0dGVybiB0byBpZGVudGlmeSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlcnMnIH0pXG4gICAgLm9wdGlvbignZXNidWlsZC1vcHRpb25zJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3t9JywgZGVzY3JpcHRpb246ICdlc2J1aWxkIG9wdGlvbnMgYXMgSlNPTiBzdHJpbmcnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtaW1wb3J0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdJbXBvcnQgc3RhdGVtZW50IGZvciB0aGUgYmFzZSBjb25zdHJ1Y3QnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtY2xhc3MnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGNvbnN0cnVjdCBjbGFzcyB0byBleHRlbmQnIH0pXG4gICAgLmhlbHAoKVxuICAgIC5wYXJzZSgpO1xuXG4gIGNvbnN0IHNvdXJjZURpciA9IGFyZ3ZbJ3NvdXJjZS1kaXInXTtcbiAgY29uc3Qgb3V0cHV0RGlyID0gYXJndlsnb3V0cHV0LWRpciddO1xuICBjb25zdCBmaWxlUGF0dGVybiA9IGFyZ3ZbJ2ZpbGUtcGF0dGVybiddO1xuICBjb25zdCBlc2J1aWxkT3B0aW9ucyA9IEpTT04ucGFyc2UoYXJndlsnZXNidWlsZC1vcHRpb25zJ10gYXMgc3RyaW5nKTtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdEltcG9ydCA9IGFyZ3ZbJ2Jhc2UtY29uc3RydWN0LWltcG9ydCddIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdENsYXNzID0gYXJndlsnYmFzZS1jb25zdHJ1Y3QtY2xhc3MnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gRW5zdXJlIG91dHB1dCBkaXJlY3RvcnkgZXhpc3RzXG4gIGZzLm1rZGlyU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgb3V0cHV0RGlyKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgLy8gRW5zdXJlIGFzc2V0cyBkaXJlY3RvcnkgZXhpc3RzXG4gIGNvbnN0IGFzc2V0c0RpciA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnYXNzZXRzJywgJ2hhbmRsZXJzJyk7XG4gIGZzLm1rZGlyU3luYyhhc3NldHNEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIC8vIEZpbmQgYWxsIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVyIGZpbGVzXG4gIGNvbnN0IGhhbmRsZXJGaWxlcyA9IGdsb2Iuc3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgc291cmNlRGlyLCBmaWxlUGF0dGVybikpO1xuXG4gIGNvbnNvbGUubG9nKFxcYEZvdW5kIFxcJHtoYW5kbGVyRmlsZXMubGVuZ3RofSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlciBmaWxlc1xcYCk7XG5cbiAgLy8gUHJvY2VzcyBlYWNoIGhhbmRsZXIgZmlsZVxuICBmb3IgKGNvbnN0IGhhbmRsZXJGaWxlIG9mIGhhbmRsZXJGaWxlcykge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHNvdXJjZURpciksIGhhbmRsZXJGaWxlKTtcbiAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguYmFzZW5hbWUocmVsYXRpdmVQYXRoLCBwYXRoLmV4dG5hbWUocmVsYXRpdmVQYXRoKSk7XG4gICAgY29uc3QgZnVuY3Rpb25OYW1lID0gZmlsZU5hbWUucmVwbGFjZSgnLmxhbWJkYScsICcnKTtcblxuICAgIGNvbnNvbGUubG9nKFxcYFByb2Nlc3NpbmcgTGFtYmRhIEZ1bmN0aW9uIGhhbmRsZXI6IFxcJHtmdW5jdGlvbk5hbWV9XFxgKTtcblxuICAgIC8vIENyZWF0ZSBmdW5jdGlvbi1zcGVjaWZpYyBkaXJlY3RvcnlcbiAgICBjb25zdCBmdW5jdGlvbkRpciA9IHBhdGguam9pbihhc3NldHNEaXIsIGZ1bmN0aW9uTmFtZSk7XG4gICAgZnMubWtkaXJTeW5jKGZ1bmN0aW9uRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIC8vIEJ1bmRsZSB0aGUgaGFuZGxlciBjb2RlIHRvIGluZGV4LmpzIGluIHRoZSBmdW5jdGlvbiBkaXJlY3RvcnlcbiAgICBjb25zdCBvdXRmaWxlID0gcGF0aC5qb2luKGZ1bmN0aW9uRGlyLCAnaW5kZXguanMnKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgICAgZW50cnlQb2ludHM6IFtoYW5kbGVyRmlsZV0sXG4gICAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgICB0YXJnZXQ6ICdub2RlMTgnLFxuICAgICAgICBvdXRmaWxlLFxuICAgICAgICAuLi5lc2J1aWxkT3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhcXGBTdWNjZXNzZnVsbHkgYnVuZGxlZCBcXCR7ZnVuY3Rpb25OYW1lfSB0byBcXCR7b3V0ZmlsZX1cXGApO1xuXG4gICAgICAvLyBHZW5lcmF0ZSB0aGUgQ0RLIGNvbnN0cnVjdFxuICAgICAgY29uc3QgY29uc3RydWN0RmlsZVBhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgb3V0cHV0RGlyLCBcXGBcXCR7ZnVuY3Rpb25OYW1lfS50c1xcYCk7XG4gICAgICBjb25zdCBjb25zdHJ1Y3RDb2RlID0gZ2VuZXJhdGVDb25zdHJ1Y3RDb2RlKGZ1bmN0aW9uTmFtZSwgcmVsYXRpdmVQYXRoLCBiYXNlQ29uc3RydWN0SW1wb3J0LCBiYXNlQ29uc3RydWN0Q2xhc3MpO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGNvbnN0cnVjdEZpbGVQYXRoLCBjb25zdHJ1Y3RDb2RlKTtcbiAgICAgIGNvbnNvbGUubG9nKFxcYEdlbmVyYXRlZCBjb25zdHJ1Y3QgYXQgXFwke2NvbnN0cnVjdEZpbGVQYXRofVxcYCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXFxgRXJyb3IgcHJvY2Vzc2luZyBcXCR7ZnVuY3Rpb25OYW1lfTpcXGAsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVDb25zdHJ1Y3RDb2RlKGZ1bmN0aW9uTmFtZTogc3RyaW5nLCBoYW5kbGVyUGF0aDogc3RyaW5nLCBiYXNlQ29uc3RydWN0SW1wb3J0Pzogc3RyaW5nLCBiYXNlQ29uc3RydWN0Q2xhc3M/OiBzdHJpbmcpIHtcbiAgY29uc3QgY29uc3RydWN0TmFtZSA9IFxcYFxcJHtwYXNjYWxDYXNlKGZ1bmN0aW9uTmFtZSl9RnVuY3Rpb25cXGA7XG5cbiAgLy8gRGVmYXVsdCB2YWx1ZXMgaWYgbm8gYmFzZUNvbnN0cnVjdCBpcyBwcm92aWRlZFxuICBjb25zdCBpbXBvcnRTdGF0ZW1lbnQgPSBiYXNlQ29uc3RydWN0SW1wb3J0ID8/IFwiXCI7XG4gIGNvbnN0IGJhc2VDbGFzc05hbWUgPSBiYXNlQ29uc3RydWN0Q2xhc3MgPz8gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCI7XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHdlIG5lZWQgdG8gdXNlIGF3c19sYW1iZGEuUnVudGltZSBvciBub3QgYmFzZWQgb24gdGhlIGJhc2UgY2xhc3NcbiAgY29uc3QgdXNlQXdzTGFtYmRhUnVudGltZSA9ICFiYXNlQ29uc3RydWN0Q2xhc3MgfHwgYmFzZUNsYXNzTmFtZS5pbmNsdWRlcyhcIkZ1bmN0aW9uXCIpO1xuXG4gIHJldHVybiBcXGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAndXJsJztcblxcJHtpbXBvcnRTdGF0ZW1lbnR9XG5pbXBvcnQgeyBhd3NfbGFtYmRhIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8vIEVTIE1vZHVsZSBjb21wYXRpYmlsaXR5XG5jb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpO1xuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKF9fZmlsZW5hbWUpO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFxcJHtjb25zdHJ1Y3ROYW1lfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFxcJHtjb25zdHJ1Y3ROYW1lfVByb3BzIGV4dGVuZHMgT21pdDxcXCR7YmFzZUNsYXNzTmFtZSA9PT0gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCIgPyBcImF3c19sYW1iZGEuRnVuY3Rpb25Qcm9wc1wiIDogXFxgXFwke2Jhc2VDbGFzc05hbWV9UHJvcHNcXGB9LCAnY29kZSdcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFwiIHwgJ3J1bnRpbWUnXCIgOiBcIlwifSB8ICdoYW5kbGVyJz4ge1xuICBcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFxcYC8qKlxuICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBydW50aW1lXG4gICAqIEBkZWZhdWx0IG5vZGVqczIyLnhcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBhd3NfbGFtYmRhLlJ1bnRpbWU7XFxgIDogXCJcIn1cbn1cblxuLyoqXG4gKiBcXCR7Y29uc3RydWN0TmFtZX0gLSBMYW1iZGEgRnVuY3Rpb24gQ29uc3RydWN0IGZvciBcXCR7aGFuZGxlclBhdGh9XG4gKi9cbmV4cG9ydCBjbGFzcyBcXCR7Y29uc3RydWN0TmFtZX0gZXh0ZW5kcyBcXCR7YmFzZUNsYXNzTmFtZX0ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogXFwke2NvbnN0cnVjdE5hbWV9UHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFwicnVudGltZTogcHJvcHMucnVudGltZSA/PyBhd3NfbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXCIgOiBcIlwifVxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogYXdzX2xhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vLi4vYXNzZXRzL2hhbmRsZXJzL1xcJHtmdW5jdGlvbk5hbWV9JykpLFxuICAgIH0pO1xuICB9XG59XG5cXGA7XG59XG5cbm1haW4oKS5jYXRjaChlcnJvciA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG5gO1xuXG5cdFx0Ly8gQ3JlYXRlIHNvdXJjZSBjb2RlIGZpbGUgYW5kIGFkZCBjb2RlIGxpbmVzIHRvIGl0XG5cdFx0Y29uc3Qgc3JjID0gbmV3IFNvdXJjZUNvZGUodGhpcy5wcm9qZWN0LCB0aGlzLmJ1bmRsZXJTY3JpcHRQYXRoKTtcblx0XHRjb25zdCBsaW5lcyA9IGJ1bmRsZXJTY3JpcHQuc3BsaXQoXCJcXG5cIik7XG5cdFx0Zm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG5cdFx0XHRzcmMubGluZShsaW5lKTtcblx0XHR9XG5cblx0XHQvLyBBZGQgdGhlIGRlcGVuZGVuY2llcyBuZWVkZWQgZm9yIHRoZSBidW5kbGVyIHNjcmlwdFxuXHRcdHRoaXMubm9kZVByb2plY3QuYWRkRGV2RGVwcyhcblx0XHRcdFwiZXNidWlsZFwiLFxuXHRcdFx0XCJnbG9iXCIsXG5cdFx0XHRcInlhcmdzXCIsXG5cdFx0XHRcIkB0eXBlcy9nbG9iXCIsXG5cdFx0XHRcIkB0eXBlcy95YXJnc1wiLFxuXHRcdFx0XCJ0c3hcIixcblx0XHRcdFwiY2hhbmdlLWNhc2VcIixcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCB0aGUgYnVuZGxlIHRhc2sgdG8gdGhlIGJ1aWxkIHdvcmtmbG93XG5cdCAqL1xuXHRwcml2YXRlIGFkZEJ1bmRsZVRhc2tUb1dvcmtmbG93KCkge1xuXHRcdC8vIEdldCB0aGUgY29tcGlsZSB0YXNrXG5cdFx0Y29uc3QgY29tcGlsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJjb21waWxlXCIpO1xuXG5cdFx0aWYgKGNvbXBpbGVUYXNrKSB7XG5cdFx0XHQvLyBBZGQgdGhlIGJ1bmRsZSB0YXNrIGFzIGEgZGVwZW5kZW5jeSBvZiB0aGUgY29tcGlsZSB0YXNrXG5cdFx0XHRjb25zdCB1bmlxdWVJZCA9IHRoaXMuY3JlYXRlVW5pcXVlSWQodGhpcy5zb3VyY2VEaXIsIHRoaXMuZmlsZVBhdHRlcm4pO1xuXHRcdFx0Y29uc3QgdGFza05hbWUgPSBgZ2VuZXJhdGUtYW5kLWJ1bmRsZS0ke3VuaXF1ZUlkfWA7XG5cdFx0XHRjb25zdCBidW5kbGVUYXNrID0gdGhpcy5ub2RlUHJvamVjdC50YXNrcy50cnlGaW5kKHRhc2tOYW1lKTtcblx0XHRcdGlmIChidW5kbGVUYXNrKSB7XG5cdFx0XHRcdGNvbXBpbGVUYXNrLnByZXBlbmRTcGF3bihidW5kbGVUYXNrKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -11,30 +11,23 @@
11
11
  "organization": false
12
12
  },
13
13
  "devDependencies": {
14
+ "@biomejs/biome": "^2",
14
15
  "@mrgrain/cdk-esbuild": "^5.7.3",
15
16
  "@nikovirtala/projen-vitest": "^2.1.1",
16
17
  "@types/glob": "^8.1.0",
17
18
  "@types/node": "ts5.9",
18
19
  "@types/yargs": "^17.0.34",
19
- "@typescript-eslint/eslint-plugin": "^8",
20
- "@typescript-eslint/parser": "^8",
21
20
  "@vitest/coverage-v8": "^4",
22
21
  "change-case": "^5.4.4",
23
22
  "commit-and-tag-version": "^12",
24
23
  "constructs": "^10.4.3",
25
24
  "esbuild": "^0.27.0",
26
- "eslint": "^9",
27
- "eslint-config-prettier": "^10.1.8",
28
- "eslint-import-resolver-typescript": "^4.4.4",
29
- "eslint-plugin-import": "^2.32.0",
30
- "eslint-plugin-prettier": "^5.5.4",
31
25
  "glob": "^10.4.5",
32
26
  "jsii": "~5.9.3",
33
27
  "jsii-diff": "^1.118.0",
34
28
  "jsii-docgen": "^10.5.0",
35
29
  "jsii-pacmak": "^1.118.0",
36
30
  "jsii-rosetta": "~5.9.3",
37
- "prettier": "^3.6.2",
38
31
  "projen": "^0.98.10",
39
32
  "ts-node": "^10.9.2",
40
33
  "tsx": "^4.20.6",
@@ -59,7 +52,7 @@
59
52
  "publishConfig": {
60
53
  "access": "public"
61
54
  },
62
- "version": "0.0.0",
55
+ "version": "0.0.1",
63
56
  "types": "lib/index.d.ts",
64
57
  "stability": "stable",
65
58
  "jsii": {
@@ -72,6 +65,7 @@
72
65
  },
73
66
  "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\".",
74
67
  "scripts": {
68
+ "biome": "npx projen biome",
75
69
  "build": "npx projen build",
76
70
  "bump": "npx projen bump",
77
71
  "clobber": "npx projen clobber",
@@ -80,7 +74,6 @@
80
74
  "default": "npx projen default",
81
75
  "docgen": "npx projen docgen",
82
76
  "eject": "npx projen eject",
83
- "eslint": "npx projen eslint",
84
77
  "package": "npx projen package",
85
78
  "package-all": "npx projen package-all",
86
79
  "package:js": "npx projen package:js",