cdk8s-aws-cdk 0.0.501 → 0.0.502

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
@@ -4019,7 +4019,7 @@
4019
4019
  "stability": "stable"
4020
4020
  },
4021
4021
  "homepage": "https://github.com/cdk8s-team/cdk8s-aws-cdk.git",
4022
- "jsiiVersion": "5.9.48 (build 82cdda0)",
4022
+ "jsiiVersion": "5.9.49 (build 09a22a8)",
4023
4023
  "license": "Apache-2.0",
4024
4024
  "metadata": {
4025
4025
  "jsii": {
@@ -5357,6 +5357,6 @@
5357
5357
  "symbolId": "src/mappers/s3-bucket:S3BucketMapper"
5358
5358
  }
5359
5359
  },
5360
- "version": "0.0.501",
5361
- "fingerprint": "Z9WpWt6FBb4njhHXPQeudIV9+/1OkTlkP0dkm8CAoDY="
5360
+ "version": "0.0.502",
5361
+ "fingerprint": "n5cuLD6cJaXTG0NyX/vqduhTmtUIO1TFF+a5KzWucAw="
5362
5362
  }
@@ -13,15 +13,15 @@
13
13
  "PostgreSQLDatabaseInstanceECD6DE4B": {
14
14
  "Type": "AWS::RDS::DBInstance",
15
15
  "Properties": {
16
- "DBInstanceClass": "db.m5.large",
17
16
  "AllocatedStorage": "100",
18
17
  "CopyTagsToSnapshot": true,
18
+ "DBInstanceClass": "db.m5.large",
19
19
  "DBSubnetGroupName": {
20
20
  "Ref": "PostgreSQLDatabaseInstanceSubnetGroup3673DBAE"
21
21
  },
22
22
  "Engine": "postgres",
23
- "MasterUsername": "postgres",
24
23
  "MasterUserPassword": "password",
24
+ "MasterUsername": "postgres",
25
25
  "StorageType": "gp2",
26
26
  "VPCSecurityGroups": [
27
27
  "sg-022f93d53709f83b2"
package/lib/adapter.js CHANGED
@@ -1,17 +1,51 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.AwsCdkAdapater = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const aws = require("aws-cdk-lib");
7
- const k = require("cdk8s");
8
- const kplus = require("cdk8s-plus-28");
9
- const kfieldexports = require("./imports/fieldexports-services.k8s.aws");
10
- const mappers = require("./mappers");
38
+ const aws = __importStar(require("aws-cdk-lib"));
39
+ const k = __importStar(require("cdk8s"));
40
+ const kplus = __importStar(require("cdk8s-plus-28"));
41
+ const kfieldexports = __importStar(require("./imports/fieldexports-services.k8s.aws"));
42
+ const mappers = __importStar(require("./mappers"));
11
43
  class AwsCdkAdapater extends aws.Stack {
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-aws-cdk.AwsCdkAdapater", version: "0.0.502" };
45
+ chart;
46
+ _mappers = {};
12
47
  constructor(scope, id, props) {
13
48
  super(scope, id, props);
14
- this._mappers = {};
15
49
  this.chart = props.chart;
16
50
  this.registerMapper(new mappers.RdsDBInstanceMapper(this.chart));
17
51
  this.registerMapper(new mappers.Ec2SecurityGroupMapper(this.chart));
@@ -189,6 +223,4 @@ class AwsCdkAdapater extends aws.Stack {
189
223
  }
190
224
  }
191
225
  exports.AwsCdkAdapater = AwsCdkAdapater;
192
- _a = JSII_RTTI_SYMBOL_1;
193
- AwsCdkAdapater[_a] = { fqn: "cdk8s-aws-cdk.AwsCdkAdapater", version: "0.0.501" };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJCQUEyQjtBQUMzQix1Q0FBdUM7QUFFdkMseUVBQXlFO0FBRXpFLHFDQUFxQztBQU9yQyxNQUFhLGNBQWUsU0FBUSxHQUFHLENBQUMsS0FBSztJQU0zQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSFQsYUFBUSxHQUF5RCxFQUFFLENBQUM7UUFJbkYsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8s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LEVBQUUsSUFBWTtRQUN4RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBOEIsQ0FBQztJQUN4RyxDQUFDO0lBRU8sYUFBYSxDQUFDLFNBQWlCLEVBQUUsU0FBaUI7UUFDeEQsT0FBTyxHQUFHLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDbkMsT0FBTyxXQUFXLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7O0FBak9ILHdDQW1PQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGF3cyBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBrIGZyb20gJ2NkazhzJztcbmltcG9ydCAqIGFzIGtwbHVzIGZyb20gJ2NkazhzLXBsdXMtMjgnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBrZmllbGRleHBvcnRzIGZyb20gJy4vaW1wb3J0cy9maWVsZGV4cG9ydHMtc2VydmljZXMuazhzLmF3cyc7XG5pbXBvcnQgKiBhcyBrOHMgZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5pbXBvcnQgKiBhcyBtYXBwZXJzIGZyb20gJy4vbWFwcGVycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrQWRhcHRlclByb3BzIGV4dGVuZHMgYXdzLlN0YWNrUHJvcHMge1xuXG4gIHJlYWRvbmx5IGNoYXJ0OiBrLkNoYXJ0O1xufVxuXG5leHBvcnQgY2xhc3MgQXdzQ2RrQWRhcGF0ZXIgZXh0ZW5kcyBhd3MuU3RhY2sge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhcnQ6IGsuQ2hhcnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWFwcGVyczogUmVjb3JkPHN0cmluZywgbWFwcGVycy5DbG91ZEZvcm1hdGlvblJlc291cmNlTWFwcGVyPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDZGtBZGFwdGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmNoYXJ0ID0gcHJvcHMuY2hhcnQ7XG5cbiAgICB0aGlzLnJlZ2lzdGVyTWFwcGVyKG5ldyBtYXBwZXJzLlJkc0RCSW5zdGFuY2VNYXBwZXIodGhpcy5jaGFydCkpO1xuICAgIHRoaXMucmVnaXN0ZXJNYXBwZXIobmV3IG1hcHBlcnMuRWMyU2VjdXJpdHlHcm91cE1hcHBlcih0aGlzLmNoYXJ0KSk7XG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5SZHNEQlN1Ym5ldEdyb3VwKHRoaXMuY2hhcnQpKTtcbiAgICB0aGlzLnJlZ2lzdGVyTWFwcGVyKG5ldyBtYXBwZXJzLklhbVBvbGljeU1hcHBlcih0aGlzLmNoYXJ0KSk7XG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5JYW1Sb2xlTWFwcGVyKHRoaXMuY2hhcnQpKTtcbiAgICB0aGlzLnJlZ2lzdGVyTWFwcGVyKG5ldyBtYXBwZXJzLkxhbWJkYUZ1bmN0aW9uTWFwcGVyKHRoaXMuY2hhcnQpKTtcbiAgICB0aGlzLnJlZ2lzdGVyTWFwcGVyKG5ldyBtYXBwZXJzLlMzQnVja2V0TWFwcGVyKHRoaXMuY2hhcnQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIG1hcHBlciB0aGF0IGNhbiB0cmFuc2Zvcm0gYSBzcGVjaWZpYyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0eXBlLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyTWFwcGVyKG1hcHBlcjogbWFwcGVycy5DbG91ZEZvcm1hdGlvblJlc291cmNlTWFwcGVyKSB7XG4gICAgdGhpcy5fbWFwcGVyc1ttYXBwZXIudHlwZV0gPSBtYXBwZXI7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtIENsb3VkRm9ybWF0aW9uIHJlc291cmNlcyB0byBBQ0sgcmVzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybVJlc291cmNlcyhjZm5SZXNvdXJjZXM6IGF3cy5DZm5SZXNvdXJjZVtdKSB7XG5cbiAgICBmb3IgKGNvbnN0IGNmblJlc291cmNlIG9mIGNmblJlc291cmNlcykge1xuICAgICAgY29uc3QgbG9naWNhbElkID0gdGhpcy5nZXRMb2dpY2FsSWQoY2ZuUmVzb3VyY2UpO1xuICAgICAgY29uc3QgY2ZuVHlwZSA9IGNmblJlc291cmNlLmNmblJlc291cmNlVHlwZTtcblxuICAgICAgY29uc3QgbWFwcGVyID0gdGhpcy50cnlGaW5kTWFwcGVyKGNmblR5cGUpO1xuXG4gICAgICBpZiAoIW1hcHBlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byB0cmFuc2Zvcm0gcmVzb3VyY2Ugb2YgdHlwZSAnJHtjZm5UeXBlfScuIE1hcHBlciBpcyBub3QgcmVnaXN0ZXJlZGApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjZm5UZW1wbGF0ZVJlc291cmNlcyA9IE9iamVjdC52YWx1ZXMoKGNmblJlc291cmNlLl90b0Nsb3VkRm9ybWF0aW9uKCkgYXMgYW55KS5SZXNvdXJjZXMpIGFzIGFueVtdO1xuICAgICAgY29uc3QgY2ZuUHJvcGVydGllcyA9IHRoaXMucmVzb2x2ZUludHJpbnNpY3MobG9naWNhbElkLCB0aGlzLnJlc29sdmUoY2ZuVGVtcGxhdGVSZXNvdXJjZXNbMF0udmFsdWUuUHJvcGVydGllcy52YWx1ZSksIG1hcHBlcik7XG5cbiAgICAgIGNvbnN0IHJlc291cmNlID0gbWFwcGVyLm1hcChsb2dpY2FsSWQsIGNmblByb3BlcnRpZXMpO1xuXG4gICAgICAvLyBmb3IgZWFjaCByZXNvdXJjZSB3ZSBwYXRjaCBpdHMgbmFtZSBpZiBuZWVkZWRcbiAgICAgIGlmICghY2ZuUHJvcGVydGllc1ttYXBwZXIubmFtZU1hcHBpbmcuY2ZuUHJvcGVydHldKSB7XG4gICAgICAgIHJlc291cmNlLmFkZEpzb25QYXRjaChrLkpzb25QYXRjaC5hZGQobWFwcGVyLm5hbWVNYXBwaW5nLnNwZWNQYXRoLCByZXNvdXJjZS5uYW1lKSk7XG4gICAgICAgIHJlc291cmNlLmFkZEpzb25QYXRjaChrLkpzb25QYXRjaC5hZGQoJy9tZXRhZGF0YScsIHsgbmFtZTogcmVzb3VyY2UubmFtZSB9KSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGZvciBlYWNoIHJlc291cmNlIHdlIGNyZWF0ZSBhIGNvbmZpZyBtYXAgdGhhdCB3aWxsIGhvbGQgaXRzIGZpZWxkIGV4cG9ydHMuXG4gICAgICAvLyBpLmUgcnVudGltZSBhdHRyaWJ1dGVzLiB0aGVzZSB3aWxsIGxhdGVyIGJlIHVzZWQgdG8gdHJhbnNmb3JtIENsb3VkRm9ybWF0aW9uXG4gICAgICAvLyBhdHRyaWJ1dGVzLlxuICAgICAgY29uc3QgY29uZmlnTWFwID0gbmV3IGtwbHVzLkNvbmZpZ01hcCh0aGlzLmNoYXJ0LCBgJHtsb2dpY2FsSWR9Q29uZmlnTWFwYCk7XG5cbiAgICAgIGZvciAoY29uc3QgZXhwb3J0TWFwcGluZyBvZiBtYXBwZXIuZXhwb3J0TWFwcGluZ3MpIHtcbiAgICAgICAgbmV3IGtmaWVsZGV4cG9ydHMuRmllbGRFeHBvcnQodGhpcy5jaGFydCwgdGhpcy5maWVsZEV4cG9ydElkKGxvZ2ljYWxJZCwgZXhwb3J0TWFwcGluZy5hdHRyaWJ1dGUpLCB7XG4gICAgICAgICAgc3BlYzoge1xuICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICBwYXRoOiB0aGlzLmZpZWxkRXhwb3J0UGF0aChleHBvcnRNYXBwaW5nLmZpZWxkKSxcbiAgICAgICAgICAgICAgcmVzb3VyY2U6IHsgZ3JvdXA6IHJlc291cmNlLmFwaUdyb3VwLCBraW5kOiByZXNvdXJjZS5raW5kLCBuYW1lOiByZXNvdXJjZS5uYW1lIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdG86IHtcbiAgICAgICAgICAgICAga2luZDoga2ZpZWxkZXhwb3J0cy5GaWVsZEV4cG9ydFNwZWNUb0tpbmQuQ09ORklHTUFQLFxuICAgICAgICAgICAgICBuYW1lOiBjb25maWdNYXAubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBDbG91ZEZvcm1hdGlvbiBhdHRyaWJ1dGVzIGludG8gQUNLIGZpZWxkIGV4cG9ydHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjb250YWluZXIgZW52aXJvbm1lbnQgdmFyaWFibGVzLFxuICAgKiBhcyBvbmx5IHRoZXkgYWxsb3cgcmVmZXJlbmNpbmcgZmllbGRzIGZyb20gY29uZmlnIG1hcHMsIHdoaWNoIHRoZSBmaWVsZCBleHBvcnRzIGV4cG9ydCB0by5cbiAgICpcbiAgICogSWYgYW4gQXBpT2JqZWN0IGNvbnRhaW5zIGEgQ2xvdWRGb3JtYXRpb24gYXR0cmlidXRlIGluIGFueSBvdGhlciBkZWZpbml0aW9uLCBpdCB3aWxsIHJlbWFpblxuICAgKiBhcyBpcywgaXQgd2lsbCByZW1haW4gaW4tcGxhY2UuXG4gICAqL1xuICBwdWJsaWMgdHJhbnNmb3JtQXR0cmlidXRlcyhhcGlPYmplY3RzOiBrLkFwaU9iamVjdFtdKSB7XG5cbiAgICBmb3IgKGNvbnN0IGFwaU9iamVjdCBvZiBhcGlPYmplY3RzKSB7XG5cbiAgICAgIGNvbnN0IHNwZWM6IGFueSA9IGFwaU9iamVjdC50b0pzb24oKS5zcGVjO1xuXG4gICAgICBzd2l0Y2ggKGFwaU9iamVjdC5raW5kKSB7XG4gICAgICAgIGNhc2UgJ0RlcGxveW1lbnQnOlxuICAgICAgICBjYXNlICdTdGF0ZWZ1bFNldCc6XG4gICAgICAgIGNhc2UgJ0RhZW1vblNldCc6XG4gICAgICAgIGNhc2UgJ0pvYic6XG4gICAgICAgICAgdGhpcy5wYXRjaENvbnRhaW5lckVudmlyb25tZW50KGFwaU9iamVjdCwgc3BlYz8udGVtcGxhdGU/LnNwZWM/LmNvbnRhaW5lcnMgPz8gW10sICcvc3BlYy90ZW1wbGF0ZS9zcGVjL2NvbnRhaW5lcnMnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnUG9kJzpcbiAgICAgICAgICB0aGlzLnBhdGNoQ29udGFpbmVyRW52aXJvbm1lbnQoYXBpT2JqZWN0LCBzcGVjPy5jb250YWluZXJzID8/IFtdLCAnL3NwZWMvY29udGFpbmVycycpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGF0Y2hDb250YWluZXJFbnZpcm9ubWVudChyZXNvdXJjZTogay5BcGlPYmplY3QsIGNvbnRhaW5lcnM6IGs4cy5Db250YWluZXJbXSwgcGF0aDogc3RyaW5nKSB7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRhaW5lcnMubGVuZ3RoOyBpKyspIHtcblxuICAgICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyc1tpXTtcbiAgICAgIGNvbnN0IGVudlZhcnMgPSBjb250YWluZXIuZW52ID8/IFtdO1xuXG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGVudlZhcnMubGVuZ3RoOyBqKyspIHtcblxuICAgICAgICBjb25zdCBlbnZWYXIgPSBlbnZWYXJzW2pdO1xuXG4gICAgICAgIGlmICghZW52VmFyLnZhbHVlKSB7XG4gICAgICAgICAgLy8gd2Ugb25seSBjb252ZXIgdmFsdWUgLS0+IHZhbHVlRnJvbVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhd3MuVG9rZW4uaXNVbnJlc29sdmVkKGVudlZhci52YWx1ZSkpIHtcbiAgICAgICAgICAvLyBubyBjb252ZXJzaW9uIG5lY2Vzc2FyeVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnJlc29sdmUoZW52VmFyLnZhbHVlKTtcblxuICAgICAgICBpZiAodHlwZW9mKHJlc29sdmVkKSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAvLyBub3Qgc3VyZSB3aGF0IHRoaXMgbWVhbnMuLi5za2lwIGluIHRoZSBtZWFudGltZVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMocmVzb2x2ZWQpWzBdO1xuICAgICAgICBpZiAoIWtleS5zdGFydHNXaXRoKCdGbjo6R2V0QXR0JykpIHtcbiAgICAgICAgICAvLyBub3Qgc3VyZSB3aGF0IHRoaXMgbWVhbnMuLi5za2lwIGluIHRoZSBtZWFudGltZVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBPYmplY3QudmFsdWVzKHJlc29sdmVkKVswXSBhcyBzdHJpbmdbXTtcbiAgICAgICAgY29uc3QgbG9naWNhbElkID0gdmFsdWVbMF07XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHZhbHVlWzFdO1xuXG4gICAgICAgIC8vIGxvY2F0ZSB0aGUgZmllbGQgZXhwb3J0cyB0aGF0IGlzIG1hcHBlZCB0byB0aGlzIGF0dHJpYnV0ZS5cbiAgICAgICAgY29uc3QgZmllbGRFeHBvcnQgPSB0aGlzLnRyeUZpbmRGaWVsZEV4cG9ydChsb2dpY2FsSWQsIGF0dHJpYnV0ZSk7XG4gICAgICAgIGlmICghZmllbGRFeHBvcnQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byB0cmFuc2Zvcm0gYXR0cmlidXRlICcke0pTT04uc3RyaW5naWZ5KHJlc29sdmVkKX0nIGZvciBlbnYgdmFyaWFibGUgJyR7ZW52VmFyLm5hbWV9JyBpbiByZXNvdXJjZSAnJHtyZXNvdXJjZS5uYW1lfSc6IEZpZWxkIGV4cG9ydCBub3QgcmVnaXN0ZXJlZC5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpZWxkRXhwb3J0U3BlYzoga2ZpZWxkZXhwb3J0cy5GaWVsZEV4cG9ydFNwZWMgPSBmaWVsZEV4cG9ydC50b0pzb24oKS5zcGVjO1xuICAgICAgICBjb25zdCBuYW1lc3BhY2UgPSBmaWVsZEV4cG9ydC5tZXRhZGF0YS5uYW1lc3BhY2UgPz8gJ2RlZmF1bHQnO1xuXG4gICAgICAgIHJlc291cmNlLmFkZEpzb25QYXRjaChrLkpzb25QYXRjaC5yZW1vdmUoYCR7cGF0aH0vJHtpfS9lbnYvJHtqfWApKTtcbiAgICAgICAgcmVzb3VyY2UuYWRkSnNvblBhdGNoKGsuSnNvblBhdGNoLmFkZChgJHtwYXRofS8ke2l9L2Vudi8ke2p9YCwge1xuICAgICAgICAgIG5hbWU6IGVudlZhci5uYW1lLFxuICAgICAgICAgIHZhbHVlRnJvbToge1xuICAgICAgICAgICAgY29uZmlnTWFwS2V5UmVmOiB7XG4gICAgICAgICAgICAgIGtleTogYCR7bmFtZXNwYWNlfS4ke2ZpZWxkRXhwb3J0Lm5hbWV9YCxcbiAgICAgICAgICAgICAgbmFtZTogZmllbGRFeHBvcnRTcGVjLnRvLm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVJbnRyaW5zaWNzKGxvZ2ljYWxJZDogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnksIG1hcHBlcjogbWFwcGVycy5DbG91ZEZvcm1hdGlvblJlc291cmNlTWFwcGVyKSB7XG5cbiAgICBjb25zdCByZXNvbHZlZCA9IEpTT04uc3RyaW5naWZ5KHByb3BlcnRpZXMsIChrZXksIHZhbHVlKSA9PiB7XG5cbiAgICAgIGlmICh0eXBlb2YodmFsdWUpICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAvLyBub3QgYW4gYXR0cmlidXRlXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgLy8gZGVmaW5pdGVseSBub3QgYW4gaW50cmluc2ljLCB3aGljaCB0YWtlcyB0aGUgZm9ybSAneyBrZXk6IHZhbHVlIH0nXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXR0cmlidXRlID0gT2JqZWN0LmtleXModmFsdWUpWzBdO1xuICAgICAgY29uc3QgcmVmTG9naWNhbElkID0gT2JqZWN0LnZhbHVlcyh2YWx1ZSlbMF07XG5cbiAgICAgIGlmIChhdHRyaWJ1dGUuc3RhcnRzV2l0aCgnRm46OicpKSB7XG4gICAgICAgIC8vIEFDSyBkb2Vzbid0IGhhdmUgc3VwcG9ydCBmb3IgRm46OiBpbnRyaW5zaWNzIGF0IHRoZSBtb21lbnQuXG4gICAgICAgIC8vIGFjdHVhbGx5IC0tIHRoYXRzIG5vdCBlbnRpcmVseSB0cnVlLCBzb21lIHJlc291cmNlcyBkbyBoYXZlIGEgd2F5IHRvIHBhc3NcbiAgICAgICAgLy8gdmFsdWVzIGJ5IHJlZmVyZW5jaW5nIG90aGVyIHJlc291cmNlcy4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gcGFzcyBhIGB2cGNSZWZgXG4gICAgICAgIC8vIHRvIGEgc2VjdXJpdHkgZ3JvdXAsIGluc3RlYWQgb2YgdGhlIGFjdHVhbCB2cGMgaWQuIGJ1dCBJIGhhdmUgeWV0IHRvIGxpc3QgdGhvc2Ugb3V0LFxuICAgICAgICAvLyBhbmQgdW5kZXJzdGFuZCBob3cgdGhleSB3b3JrLlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXNvbHZlIGludHJpbnNpYyBmdW5jdGlvbiAnJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9JyBpbiBwcm9wZXJ0eSAnJHtrZXl9JyBvZiByZXNvdXJjZSAnJHtsb2dpY2FsSWR9J2ApO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXR0cmlidXRlICE9PSAnUmVmJykge1xuICAgICAgICAvLyBwcm9iYWJseSBqdXN0IGEgY29tcGxleHQgdmFsdWUsIG1vdmUgb24uLi5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyB3ZSBjYW4gcmVzb2x2ZSAnUmVmJyBiZWNhdXNlIHdlIGtub3cgYWxsIHJlc291cmNlIG5hbWVzIGF0IHN5bnRoIHRpbWUuXG4gICAgICBjb25zdCByZWZlcmVuY2UgPSB0aGlzLmNoYXJ0Lm5vZGUuZmluZENoaWxkKHJlZkxvZ2ljYWxJZCBhcyBzdHJpbmcpO1xuICAgICAgc3dpdGNoIChtYXBwZXIucmVmTWFwcGluZykge1xuICAgICAgICBjYXNlIG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25NYXBwZXJSZWZNYXBwaW5nLk5BTUU6XG4gICAgICAgICAgcmV0dXJuIGsuQXBpT2JqZWN0Lm9mKHJlZmVyZW5jZSkubmFtZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHJlZiBtYXBwaW5nOiAke21hcHBlci5yZWZNYXBwaW5nfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzb2x2ZWQpO1xuXG4gIH1cblxuICBwcml2YXRlIHRyeUZpbmRNYXBwZXIoY2ZuVHlwZTogc3RyaW5nKTogbWFwcGVycy5DbG91ZEZvcm1hdGlvblJlc291cmNlTWFwcGVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWFwcGVyc1tjZm5UeXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ5RmluZEZpZWxkRXhwb3J0KGxvZ2ljYWxJZDogc3RyaW5nLCBhdHRyOiBzdHJpbmcpOiBrZmllbGRleHBvcnRzLkZpZWxkRXhwb3J0IHtcbiAgICByZXR1cm4gdGhpcy5jaGFydC5ub2RlLnRyeUZpbmRDaGlsZCh0aGlzLmZpZWxkRXhwb3J0SWQobG9naWNhbElkLCBhdHRyKSkgYXMga2ZpZWxkZXhwb3J0cy5GaWVsZEV4cG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgZmllbGRFeHBvcnRJZChsb2dpY2FsSWQ6IHN0cmluZywgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7bG9naWNhbElkfSR7YXR0cmlidXRlfWA7XG4gIH1cblxuICBwcml2YXRlIGZpZWxkRXhwb3J0UGF0aChmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAuc3RhdHVzLiR7ZmllbGR9YDtcbiAgfVxuXG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBbUM7QUFDbkMseUNBQTJCO0FBQzNCLHFEQUF1QztBQUV2Qyx1RkFBeUU7QUFFekUsbURBQXFDO0FBT3JDLE1BQWEsY0FBZSxTQUFRLEdBQUcsQ0FBQyxLQUFLOztJQUUxQixLQUFLLENBQVU7SUFFZixRQUFRLEdBQXlELEVBQUUsQ0FBQztJQUVyRixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENB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LE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLElBQVk7UUFDeEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQThCLENBQUM7SUFDeEcsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUFpQixFQUFFLFNBQWlCO1FBQ3hELE9BQU8sR0FBRyxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFhO1FBQ25DLE9BQU8sV0FBVyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDOztBQWpPSCx3Q0FtT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhd3MgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgayBmcm9tICdjZGs4cyc7XG5pbXBvcnQgKiBhcyBrcGx1cyBmcm9tICdjZGs4cy1wbHVzLTI4JztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMga2ZpZWxkZXhwb3J0cyBmcm9tICcuL2ltcG9ydHMvZmllbGRleHBvcnRzLXNlcnZpY2VzLms4cy5hd3MnO1xuaW1wb3J0ICogYXMgazhzIGZyb20gJy4vaW1wb3J0cy9rOHMnO1xuaW1wb3J0ICogYXMgbWFwcGVycyBmcm9tICcuL21hcHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0FkYXB0ZXJQcm9wcyBleHRlbmRzIGF3cy5TdGFja1Byb3BzIHtcblxuICByZWFkb25seSBjaGFydDogay5DaGFydDtcbn1cblxuZXhwb3J0IGNsYXNzIEF3c0Nka0FkYXBhdGVyIGV4dGVuZHMgYXdzLlN0YWNrIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0OiBrLkNoYXJ0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21hcHBlcnM6IFJlY29yZDxzdHJpbmcsIG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25SZXNvdXJjZU1hcHBlcj4gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXdzQ2RrQWRhcHRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5jaGFydCA9IHByb3BzLmNoYXJ0O1xuXG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5SZHNEQkluc3RhbmNlTWFwcGVyKHRoaXMuY2hhcnQpKTtcbiAgICB0aGlzLnJlZ2lzdGVyTWFwcGVyKG5ldyBtYXBwZXJzLkVjMlNlY3VyaXR5R3JvdXBNYXBwZXIodGhpcy5jaGFydCkpO1xuICAgIHRoaXMucmVnaXN0ZXJNYXBwZXIobmV3IG1hcHBlcnMuUmRzREJTdWJuZXRHcm91cCh0aGlzLmNoYXJ0KSk7XG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5JYW1Qb2xpY3lNYXBwZXIodGhpcy5jaGFydCkpO1xuICAgIHRoaXMucmVnaXN0ZXJNYXBwZXIobmV3IG1hcHBlcnMuSWFtUm9sZU1hcHBlcih0aGlzLmNoYXJ0KSk7XG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5MYW1iZGFGdW5jdGlvbk1hcHBlcih0aGlzLmNoYXJ0KSk7XG4gICAgdGhpcy5yZWdpc3Rlck1hcHBlcihuZXcgbWFwcGVycy5TM0J1Y2tldE1hcHBlcih0aGlzLmNoYXJ0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBtYXBwZXIgdGhhdCBjYW4gdHJhbnNmb3JtIGEgc3BlY2lmaWMgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck1hcHBlcihtYXBwZXI6IG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25SZXNvdXJjZU1hcHBlcikge1xuICAgIHRoaXMuX21hcHBlcnNbbWFwcGVyLnR5cGVdID0gbWFwcGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZXMgdG8gQUNLIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm1SZXNvdXJjZXMoY2ZuUmVzb3VyY2VzOiBhd3MuQ2ZuUmVzb3VyY2VbXSkge1xuXG4gICAgZm9yIChjb25zdCBjZm5SZXNvdXJjZSBvZiBjZm5SZXNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHRoaXMuZ2V0TG9naWNhbElkKGNmblJlc291cmNlKTtcbiAgICAgIGNvbnN0IGNmblR5cGUgPSBjZm5SZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGU7XG5cbiAgICAgIGNvbnN0IG1hcHBlciA9IHRoaXMudHJ5RmluZE1hcHBlcihjZm5UeXBlKTtcblxuICAgICAgaWYgKCFtYXBwZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gdHJhbnNmb3JtIHJlc291cmNlIG9mIHR5cGUgJyR7Y2ZuVHlwZX0nLiBNYXBwZXIgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2ZuVGVtcGxhdGVSZXNvdXJjZXMgPSBPYmplY3QudmFsdWVzKChjZm5SZXNvdXJjZS5fdG9DbG91ZEZvcm1hdGlvbigpIGFzIGFueSkuUmVzb3VyY2VzKSBhcyBhbnlbXTtcbiAgICAgIGNvbnN0IGNmblByb3BlcnRpZXMgPSB0aGlzLnJlc29sdmVJbnRyaW5zaWNzKGxvZ2ljYWxJZCwgdGhpcy5yZXNvbHZlKGNmblRlbXBsYXRlUmVzb3VyY2VzWzBdLnZhbHVlLlByb3BlcnRpZXMudmFsdWUpLCBtYXBwZXIpO1xuXG4gICAgICBjb25zdCByZXNvdXJjZSA9IG1hcHBlci5tYXAobG9naWNhbElkLCBjZm5Qcm9wZXJ0aWVzKTtcblxuICAgICAgLy8gZm9yIGVhY2ggcmVzb3VyY2Ugd2UgcGF0Y2ggaXRzIG5hbWUgaWYgbmVlZGVkXG4gICAgICBpZiAoIWNmblByb3BlcnRpZXNbbWFwcGVyLm5hbWVNYXBwaW5nLmNmblByb3BlcnR5XSkge1xuICAgICAgICByZXNvdXJjZS5hZGRKc29uUGF0Y2goay5Kc29uUGF0Y2guYWRkKG1hcHBlci5uYW1lTWFwcGluZy5zcGVjUGF0aCwgcmVzb3VyY2UubmFtZSkpO1xuICAgICAgICByZXNvdXJjZS5hZGRKc29uUGF0Y2goay5Kc29uUGF0Y2guYWRkKCcvbWV0YWRhdGEnLCB7IG5hbWU6IHJlc291cmNlLm5hbWUgfSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBmb3IgZWFjaCByZXNvdXJjZSB3ZSBjcmVhdGUgYSBjb25maWcgbWFwIHRoYXQgd2lsbCBob2xkIGl0cyBmaWVsZCBleHBvcnRzLlxuICAgICAgLy8gaS5lIHJ1bnRpbWUgYXR0cmlidXRlcy4gdGhlc2Ugd2lsbCBsYXRlciBiZSB1c2VkIHRvIHRyYW5zZm9ybSBDbG91ZEZvcm1hdGlvblxuICAgICAgLy8gYXR0cmlidXRlcy5cbiAgICAgIGNvbnN0IGNvbmZpZ01hcCA9IG5ldyBrcGx1cy5Db25maWdNYXAodGhpcy5jaGFydCwgYCR7bG9naWNhbElkfUNvbmZpZ01hcGApO1xuXG4gICAgICBmb3IgKGNvbnN0IGV4cG9ydE1hcHBpbmcgb2YgbWFwcGVyLmV4cG9ydE1hcHBpbmdzKSB7XG4gICAgICAgIG5ldyBrZmllbGRleHBvcnRzLkZpZWxkRXhwb3J0KHRoaXMuY2hhcnQsIHRoaXMuZmllbGRFeHBvcnRJZChsb2dpY2FsSWQsIGV4cG9ydE1hcHBpbmcuYXR0cmlidXRlKSwge1xuICAgICAgICAgIHNwZWM6IHtcbiAgICAgICAgICAgIGZyb206IHtcbiAgICAgICAgICAgICAgcGF0aDogdGhpcy5maWVsZEV4cG9ydFBhdGgoZXhwb3J0TWFwcGluZy5maWVsZCksXG4gICAgICAgICAgICAgIHJlc291cmNlOiB7IGdyb3VwOiByZXNvdXJjZS5hcGlHcm91cCwga2luZDogcmVzb3VyY2Uua2luZCwgbmFtZTogcmVzb3VyY2UubmFtZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRvOiB7XG4gICAgICAgICAgICAgIGtpbmQ6IGtmaWVsZGV4cG9ydHMuRmllbGRFeHBvcnRTcGVjVG9LaW5kLkNPTkZJR01BUCxcbiAgICAgICAgICAgICAgbmFtZTogY29uZmlnTWFwLm5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gQ2xvdWRGb3JtYXRpb24gYXR0cmlidXRlcyBpbnRvIEFDSyBmaWVsZCBleHBvcnRzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgY29udGFpbmVyIGVudmlyb25tZW50IHZhcmlhYmxlcyxcbiAgICogYXMgb25seSB0aGV5IGFsbG93IHJlZmVyZW5jaW5nIGZpZWxkcyBmcm9tIGNvbmZpZyBtYXBzLCB3aGljaCB0aGUgZmllbGQgZXhwb3J0cyBleHBvcnQgdG8uXG4gICAqXG4gICAqIElmIGFuIEFwaU9iamVjdCBjb250YWlucyBhIENsb3VkRm9ybWF0aW9uIGF0dHJpYnV0ZSBpbiBhbnkgb3RoZXIgZGVmaW5pdGlvbiwgaXQgd2lsbCByZW1haW5cbiAgICogYXMgaXMsIGl0IHdpbGwgcmVtYWluIGluLXBsYWNlLlxuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybUF0dHJpYnV0ZXMoYXBpT2JqZWN0czogay5BcGlPYmplY3RbXSkge1xuXG4gICAgZm9yIChjb25zdCBhcGlPYmplY3Qgb2YgYXBpT2JqZWN0cykge1xuXG4gICAgICBjb25zdCBzcGVjOiBhbnkgPSBhcGlPYmplY3QudG9Kc29uKCkuc3BlYztcblxuICAgICAgc3dpdGNoIChhcGlPYmplY3Qua2luZCkge1xuICAgICAgICBjYXNlICdEZXBsb3ltZW50JzpcbiAgICAgICAgY2FzZSAnU3RhdGVmdWxTZXQnOlxuICAgICAgICBjYXNlICdEYWVtb25TZXQnOlxuICAgICAgICBjYXNlICdKb2InOlxuICAgICAgICAgIHRoaXMucGF0Y2hDb250YWluZXJFbnZpcm9ubWVudChhcGlPYmplY3QsIHNwZWM/LnRlbXBsYXRlPy5zcGVjPy5jb250YWluZXJzID8/IFtdLCAnL3NwZWMvdGVtcGxhdGUvc3BlYy9jb250YWluZXJzJyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ1BvZCc6XG4gICAgICAgICAgdGhpcy5wYXRjaENvbnRhaW5lckVudmlyb25tZW50KGFwaU9iamVjdCwgc3BlYz8uY29udGFpbmVycyA/PyBbXSwgJy9zcGVjL2NvbnRhaW5lcnMnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhdGNoQ29udGFpbmVyRW52aXJvbm1lbnQocmVzb3VyY2U6IGsuQXBpT2JqZWN0LCBjb250YWluZXJzOiBrOHMuQ29udGFpbmVyW10sIHBhdGg6IHN0cmluZykge1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXJzLmxlbmd0aDsgaSsrKSB7XG5cbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lcnNbaV07XG4gICAgICBjb25zdCBlbnZWYXJzID0gY29udGFpbmVyLmVudiA/PyBbXTtcblxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBlbnZWYXJzLmxlbmd0aDsgaisrKSB7XG5cbiAgICAgICAgY29uc3QgZW52VmFyID0gZW52VmFyc1tqXTtcblxuICAgICAgICBpZiAoIWVudlZhci52YWx1ZSkge1xuICAgICAgICAgIC8vIHdlIG9ubHkgY29udmVyIHZhbHVlIC0tPiB2YWx1ZUZyb21cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXdzLlRva2VuLmlzVW5yZXNvbHZlZChlbnZWYXIudmFsdWUpKSB7XG4gICAgICAgICAgLy8gbm8gY29udmVyc2lvbiBuZWNlc3NhcnlcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gdGhpcy5yZXNvbHZlKGVudlZhci52YWx1ZSk7XG5cbiAgICAgICAgaWYgKHR5cGVvZihyZXNvbHZlZCkgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgLy8gbm90IHN1cmUgd2hhdCB0aGlzIG1lYW5zLi4uc2tpcCBpbiB0aGUgbWVhbnRpbWVcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKHJlc29sdmVkKVswXTtcbiAgICAgICAgaWYgKCFrZXkuc3RhcnRzV2l0aCgnRm46OkdldEF0dCcpKSB7XG4gICAgICAgICAgLy8gbm90IHN1cmUgd2hhdCB0aGlzIG1lYW5zLi4uc2tpcCBpbiB0aGUgbWVhbnRpbWVcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gT2JqZWN0LnZhbHVlcyhyZXNvbHZlZClbMF0gYXMgc3RyaW5nW107XG4gICAgICAgIGNvbnN0IGxvZ2ljYWxJZCA9IHZhbHVlWzBdO1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGUgPSB2YWx1ZVsxXTtcblxuICAgICAgICAvLyBsb2NhdGUgdGhlIGZpZWxkIGV4cG9ydHMgdGhhdCBpcyBtYXBwZWQgdG8gdGhpcyBhdHRyaWJ1dGUuXG4gICAgICAgIGNvbnN0IGZpZWxkRXhwb3J0ID0gdGhpcy50cnlGaW5kRmllbGRFeHBvcnQobG9naWNhbElkLCBhdHRyaWJ1dGUpO1xuICAgICAgICBpZiAoIWZpZWxkRXhwb3J0KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gdHJhbnNmb3JtIGF0dHJpYnV0ZSAnJHtKU09OLnN0cmluZ2lmeShyZXNvbHZlZCl9JyBmb3IgZW52IHZhcmlhYmxlICcke2VudlZhci5uYW1lfScgaW4gcmVzb3VyY2UgJyR7cmVzb3VyY2UubmFtZX0nOiBGaWVsZCBleHBvcnQgbm90IHJlZ2lzdGVyZWQuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWVsZEV4cG9ydFNwZWM6IGtmaWVsZGV4cG9ydHMuRmllbGRFeHBvcnRTcGVjID0gZmllbGRFeHBvcnQudG9Kc29uKCkuc3BlYztcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlID0gZmllbGRFeHBvcnQubWV0YWRhdGEubmFtZXNwYWNlID8/ICdkZWZhdWx0JztcblxuICAgICAgICByZXNvdXJjZS5hZGRKc29uUGF0Y2goay5Kc29uUGF0Y2gucmVtb3ZlKGAke3BhdGh9LyR7aX0vZW52LyR7an1gKSk7XG4gICAgICAgIHJlc291cmNlLmFkZEpzb25QYXRjaChrLkpzb25QYXRjaC5hZGQoYCR7cGF0aH0vJHtpfS9lbnYvJHtqfWAsIHtcbiAgICAgICAgICBuYW1lOiBlbnZWYXIubmFtZSxcbiAgICAgICAgICB2YWx1ZUZyb206IHtcbiAgICAgICAgICAgIGNvbmZpZ01hcEtleVJlZjoge1xuICAgICAgICAgICAgICBrZXk6IGAke25hbWVzcGFjZX0uJHtmaWVsZEV4cG9ydC5uYW1lfWAsXG4gICAgICAgICAgICAgIG5hbWU6IGZpZWxkRXhwb3J0U3BlYy50by5uYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlSW50cmluc2ljcyhsb2dpY2FsSWQ6IHN0cmluZywgcHJvcGVydGllczogYW55LCBtYXBwZXI6IG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25SZXNvdXJjZU1hcHBlcikge1xuXG4gICAgY29uc3QgcmVzb2x2ZWQgPSBKU09OLnN0cmluZ2lmeShwcm9wZXJ0aWVzLCAoa2V5LCB2YWx1ZSkgPT4ge1xuXG4gICAgICBpZiAodHlwZW9mKHZhbHVlKSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gbm90IGFuIGF0dHJpYnV0ZVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgIC8vIGRlZmluaXRlbHkgbm90IGFuIGludHJpbnNpYywgd2hpY2ggdGFrZXMgdGhlIGZvcm0gJ3sga2V5OiB2YWx1ZSB9J1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IE9iamVjdC5rZXlzKHZhbHVlKVswXTtcbiAgICAgIGNvbnN0IHJlZkxvZ2ljYWxJZCA9IE9iamVjdC52YWx1ZXModmFsdWUpWzBdO1xuXG4gICAgICBpZiAoYXR0cmlidXRlLnN0YXJ0c1dpdGgoJ0ZuOjonKSkge1xuICAgICAgICAvLyBBQ0sgZG9lc24ndCBoYXZlIHN1cHBvcnQgZm9yIEZuOjogaW50cmluc2ljcyBhdCB0aGUgbW9tZW50LlxuICAgICAgICAvLyBhY3R1YWxseSAtLSB0aGF0cyBub3QgZW50aXJlbHkgdHJ1ZSwgc29tZSByZXNvdXJjZXMgZG8gaGF2ZSBhIHdheSB0byBwYXNzXG4gICAgICAgIC8vIHZhbHVlcyBieSByZWZlcmVuY2luZyBvdGhlciByZXNvdXJjZXMuIEZvciBleGFtcGxlLCB5b3UgY2FuIHBhc3MgYSBgdnBjUmVmYFxuICAgICAgICAvLyB0byBhIHNlY3VyaXR5IGdyb3VwLCBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgdnBjIGlkLiBidXQgSSBoYXZlIHlldCB0byBsaXN0IHRob3NlIG91dCxcbiAgICAgICAgLy8gYW5kIHVuZGVyc3RhbmQgaG93IHRoZXkgd29yay5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVzb2x2ZSBpbnRyaW5zaWMgZnVuY3Rpb24gJyR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfScgaW4gcHJvcGVydHkgJyR7a2V5fScgb2YgcmVzb3VyY2UgJyR7bG9naWNhbElkfSdgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGF0dHJpYnV0ZSAhPT0gJ1JlZicpIHtcbiAgICAgICAgLy8gcHJvYmFibHkganVzdCBhIGNvbXBsZXh0IHZhbHVlLCBtb3ZlIG9uLi4uXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gd2UgY2FuIHJlc29sdmUgJ1JlZicgYmVjYXVzZSB3ZSBrbm93IGFsbCByZXNvdXJjZSBuYW1lcyBhdCBzeW50aCB0aW1lLlxuICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5jaGFydC5ub2RlLmZpbmRDaGlsZChyZWZMb2dpY2FsSWQgYXMgc3RyaW5nKTtcbiAgICAgIHN3aXRjaCAobWFwcGVyLnJlZk1hcHBpbmcpIHtcbiAgICAgICAgY2FzZSBtYXBwZXJzLkNsb3VkRm9ybWF0aW9uTWFwcGVyUmVmTWFwcGluZy5OQU1FOlxuICAgICAgICAgIHJldHVybiBrLkFwaU9iamVjdC5vZihyZWZlcmVuY2UpLm5hbWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCByZWYgbWFwcGluZzogJHttYXBwZXIucmVmTWFwcGluZ31gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBKU09OLnBhcnNlKHJlc29sdmVkKTtcblxuICB9XG5cbiAgcHJpdmF0ZSB0cnlGaW5kTWFwcGVyKGNmblR5cGU6IHN0cmluZyk6IG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25SZXNvdXJjZU1hcHBlciB7XG4gICAgcmV0dXJuIHRoaXMuX21hcHBlcnNbY2ZuVHlwZV07XG4gIH1cblxuICBwcml2YXRlIHRyeUZpbmRGaWVsZEV4cG9ydChsb2dpY2FsSWQ6IHN0cmluZywgYXR0cjogc3RyaW5nKToga2ZpZWxkZXhwb3J0cy5GaWVsZEV4cG9ydCB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnQubm9kZS50cnlGaW5kQ2hpbGQodGhpcy5maWVsZEV4cG9ydElkKGxvZ2ljYWxJZCwgYXR0cikpIGFzIGtmaWVsZGV4cG9ydHMuRmllbGRFeHBvcnQ7XG4gIH1cblxuICBwcml2YXRlIGZpZWxkRXhwb3J0SWQobG9naWNhbElkOiBzdHJpbmcsIGF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke2xvZ2ljYWxJZH0ke2F0dHJpYnV0ZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWVsZEV4cG9ydFBhdGgoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiBgLnN0YXR1cy4ke2ZpZWxkfWA7XG4gIH1cblxufVxuIl19
package/lib/chart.js CHANGED
@@ -1,13 +1,47 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.Chart = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const aws = require("aws-cdk-lib");
7
- const k = require("cdk8s");
8
- const adapter = require("./adapter");
38
+ const aws = __importStar(require("aws-cdk-lib"));
39
+ const k = __importStar(require("cdk8s"));
40
+ const adapter = __importStar(require("./adapter"));
9
41
  const STACK_SYMBOL = Symbol.for('@aws-cdk/core.Stack');
10
42
  class Chart extends k.Chart {
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-aws-cdk.Chart", version: "0.0.502" };
44
+ adapter;
11
45
  constructor(scope, id, props = {}) {
12
46
  super(scope, id, props);
13
47
  this.adapter = new adapter.AwsCdkAdapater(this, 'AwsCdkAdapter', { chart: this });
@@ -58,6 +92,4 @@ class Chart extends k.Chart {
58
92
  }
59
93
  }
60
94
  exports.Chart = Chart;
61
- _a = JSII_RTTI_SYMBOL_1;
62
- Chart[_a] = { fqn: "cdk8s-aws-cdk.Chart", version: "0.0.501" };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkJBQTJCO0FBRTNCLHFDQUFxQztBQUdyQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFdkQsTUFBYSxLQUFNLFNBQVEsQ0FBQyxDQUFDLEtBQUs7SUFJaEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFzQixFQUFHO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsa0VBQWtFO1FBQ2xFLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxTQUFTO1FBRWYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBc0IsQ0FBQztRQUM1RyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFrQixDQUFDO1FBRTlGLCtDQUErQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlDLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLHVDQUF1QztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSyxhQUFhO1FBQ25CLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBRXhELElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLFNBQVM7WUFDWCxDQUFDO1lBQUEsQ0FBQztZQUVGLE1BQU0sQ0FBQyxHQUFJLElBQUksQ0FBQyxPQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbkMsSUFBSSxPQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzdCLGlDQUFpQztnQkFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4RSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjLENBQUMsTUFBNEM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7QUE1REgsc0JBOERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXdzIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGsgZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBhZGFwdGVyIGZyb20gJy4vYWRhcHRlcic7XG5pbXBvcnQgKiBhcyBtYXBwZXJzIGZyb20gJy4vbWFwcGVycyc7XG5cbmNvbnN0IFNUQUNLX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ0Bhd3MtY2RrL2NvcmUuU3RhY2snKTtcblxuZXhwb3J0IGNsYXNzIENoYXJ0IGV4dGVuZHMgay5DaGFydCB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFkYXB0ZXI6IGFkYXB0ZXIuQXdzQ2RrQWRhcGF0ZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGsuQ2hhcnRQcm9wcyA9IHsgfSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuYWRhcHRlciA9IG5ldyBhZGFwdGVyLkF3c0Nka0FkYXBhdGVyKHRoaXMsICdBd3NDZGtBZGFwdGVyJywgeyBjaGFydDogdGhpcyB9KTtcbiAgICB0aGlzLl9pbmhlcml0U3RhY2soKTtcblxuICAgIC8vIGhhY2sgdGhhdCBhbGxvd3MgdXMgdG8gaW5qZWN0IGNvZGUganVzdCBiZWZvcmUgY2RrOHMgc3ludGhlc2lzLlxuICAgIC8vIFRPRE8gLSBmaWd1cmUgb3V0IGEgcHJvcGVyIGhvb2sgZm9yIHN5bnRoZXNpcyBpbiBjZGs4cyAob3IgbWF5YmUgY29uc3RydWN0cz8pXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oeyB2YWxpZGF0ZTogKCkgPT4gdGhpcy5fdmFsaWRhdGUoKSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcblxuICAgIGNvbnN0IGNmblJlc291cmNlcyA9IHRoaXMubm9kZS5maW5kQWxsKCkuZmlsdGVyKG4gPT4gYXdzLkNmblJlc291cmNlLmlzQ2ZuUmVzb3VyY2UobikpIGFzIGF3cy5DZm5SZXNvdXJjZVtdO1xuICAgIGNvbnN0IGFwaU9iamVjdHMgPSB0aGlzLm5vZGUuZmluZEFsbCgpLmZpbHRlcihuID0+IG4gaW5zdGFuY2VvZiBrLkFwaU9iamVjdCkgYXMgay5BcGlPYmplY3RbXTtcblxuICAgIC8vIHRyYW5zZm9ybSBhbGwgY2ZuIHJlc291cmNlcyB0byBhY2sgcmVzb3VyY2VzXG4gICAgdGhpcy5hZGFwdGVyLnRyYW5zZm9ybVJlc291cmNlcyhjZm5SZXNvdXJjZXMpO1xuXG4gICAgLy8gdHJhbnNmb3JtIGNmbiBhdHRyaWJ1dGVzIHRvIGZpZWxkIGV4cG9ydHNcbiAgICB0aGlzLmFkYXB0ZXIudHJhbnNmb3JtQXR0cmlidXRlcyhhcGlPYmplY3RzKTtcblxuICAgIC8vIGhhY2ssIHdlIG5lZWQgdG8gcmV0dXJuIHNvbWV0aGluZy4uLlxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb25rZXkgcGF0Y2hlcyB0aGUgY2hhcnQgdG8gYWxzbyBpbmhlcml0IGZyb20gYW4gQVdTIENESyBzdGFjay5cbiAgICogVGhpcyBtYWtlcyBpdCBzbyB0aGUgY2hhcnQgY2FuIGJlIHBhc3NlZCBhcyBhIHNjb3BlIG9mIEFXUyBDREsgY29uc3RydWN0cy5cbiAgICovXG4gIHByaXZhdGUgX2luaGVyaXRTdGFjaygpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgU1RBQ0tfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIGNvbnN0IHN0YWNrTWV0aG9kcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVjdC5nZXRQcm90b3R5cGVPZihPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcy5hZGFwdGVyKSkpO1xuICAgIGNvbnN0IGFkYXB0ZXJQcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcy5hZGFwdGVyKTtcbiAgICBmb3IgKGNvbnN0IHAgb2YgWy4uLnN0YWNrTWV0aG9kcywgLi4uYWRhcHRlclByb3BlcnRpZXNdKSB7XG5cbiAgICAgIGlmIChbJ2NvbnN0cnVjdG9yJywgJ25vZGUnXS5pbmNsdWRlcyhwKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHYgPSAodGhpcy5hZGFwdGVyIGFzIGFueSlbcF07XG5cbiAgICAgIGlmICh0eXBlb2YodikgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gdGhpcyBpcy4uLmFkdmVudHVyb3VzPyB5ZWFoLi4uXG4gICAgICAgIGNvbnN0IG4gPSBuZXcgRnVuY3Rpb24oJy4uLmFyZ3MnLCBgcmV0dXJuIHRoaXMuYWRhcHRlci4ke3B9KC4uLmFyZ3MpO2ApO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcCwgeyB2YWx1ZTogbiB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwLCB7IHZhbHVlOiB2IH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBuZXcgbWFwcGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyTWFwcGVyKG1hcHBlcjogbWFwcGVycy5DbG91ZEZvcm1hdGlvblJlc291cmNlTWFwcGVyKSB7XG4gICAgdGhpcy5hZGFwdGVyLnJlZ2lzdGVyTWFwcGVyKG1hcHBlcik7XG4gIH1cblxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFtQztBQUNuQyx5Q0FBMkI7QUFFM0IsbURBQXFDO0FBR3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUV2RCxNQUFhLEtBQU0sU0FBUSxDQUFDLENBQUMsS0FBSzs7SUFFYixPQUFPLENBQXlCO0lBRW5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBc0IsRUFBRztRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLGtFQUFrRTtRQUNsRSxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sU0FBUztRQUVmLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUM7UUFDNUcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBa0IsQ0FBQztRQUU5RiwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5Qyw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3Qyx1Q0FBdUM7UUFDdkMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYTtRQUNuQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUcsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUV4RCxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxTQUFTO1lBQ1gsQ0FBQztZQUFBLENBQUM7WUFFRixNQUFNLENBQUMsR0FBSSxJQUFJLENBQUMsT0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLElBQUksT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUM3QixpQ0FBaUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDL0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ08sY0FBYyxDQUFDLE1BQTRDO1FBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O0FBNURILHNCQThEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGF3cyBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBrIGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgYWRhcHRlciBmcm9tICcuL2FkYXB0ZXInO1xuaW1wb3J0ICogYXMgbWFwcGVycyBmcm9tICcuL21hcHBlcnMnO1xuXG5jb25zdCBTVEFDS19TWU1CT0wgPSBTeW1ib2wuZm9yKCdAYXdzLWNkay9jb3JlLlN0YWNrJyk7XG5cbmV4cG9ydCBjbGFzcyBDaGFydCBleHRlbmRzIGsuQ2hhcnQge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBhZGFwdGVyOiBhZGFwdGVyLkF3c0Nka0FkYXBhdGVyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBrLkNoYXJ0UHJvcHMgPSB7IH0pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmFkYXB0ZXIgPSBuZXcgYWRhcHRlci5Bd3NDZGtBZGFwYXRlcih0aGlzLCAnQXdzQ2RrQWRhcHRlcicsIHsgY2hhcnQ6IHRoaXMgfSk7XG4gICAgdGhpcy5faW5oZXJpdFN0YWNrKCk7XG5cbiAgICAvLyBoYWNrIHRoYXQgYWxsb3dzIHVzIHRvIGluamVjdCBjb2RlIGp1c3QgYmVmb3JlIGNkazhzIHN5bnRoZXNpcy5cbiAgICAvLyBUT0RPIC0gZmlndXJlIG91dCBhIHByb3BlciBob29rIGZvciBzeW50aGVzaXMgaW4gY2RrOHMgKG9yIG1heWJlIGNvbnN0cnVjdHM/KVxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHsgdmFsaWRhdGU6ICgpID0+IHRoaXMuX3ZhbGlkYXRlKCkgfSk7XG4gIH1cblxuICBwcml2YXRlIF92YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG5cbiAgICBjb25zdCBjZm5SZXNvdXJjZXMgPSB0aGlzLm5vZGUuZmluZEFsbCgpLmZpbHRlcihuID0+IGF3cy5DZm5SZXNvdXJjZS5pc0NmblJlc291cmNlKG4pKSBhcyBhd3MuQ2ZuUmVzb3VyY2VbXTtcbiAgICBjb25zdCBhcGlPYmplY3RzID0gdGhpcy5ub2RlLmZpbmRBbGwoKS5maWx0ZXIobiA9PiBuIGluc3RhbmNlb2Ygay5BcGlPYmplY3QpIGFzIGsuQXBpT2JqZWN0W107XG5cbiAgICAvLyB0cmFuc2Zvcm0gYWxsIGNmbiByZXNvdXJjZXMgdG8gYWNrIHJlc291cmNlc1xuICAgIHRoaXMuYWRhcHRlci50cmFuc2Zvcm1SZXNvdXJjZXMoY2ZuUmVzb3VyY2VzKTtcblxuICAgIC8vIHRyYW5zZm9ybSBjZm4gYXR0cmlidXRlcyB0byBmaWVsZCBleHBvcnRzXG4gICAgdGhpcy5hZGFwdGVyLnRyYW5zZm9ybUF0dHJpYnV0ZXMoYXBpT2JqZWN0cyk7XG5cbiAgICAvLyBoYWNrLCB3ZSBuZWVkIHRvIHJldHVybiBzb21ldGhpbmcuLi5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogTW9ua2V5IHBhdGNoZXMgdGhlIGNoYXJ0IHRvIGFsc28gaW5oZXJpdCBmcm9tIGFuIEFXUyBDREsgc3RhY2suXG4gICAqIFRoaXMgbWFrZXMgaXQgc28gdGhlIGNoYXJ0IGNhbiBiZSBwYXNzZWQgYXMgYSBzY29wZSBvZiBBV1MgQ0RLIGNvbnN0cnVjdHMuXG4gICAqL1xuICBwcml2YXRlIF9pbmhlcml0U3RhY2soKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFNUQUNLX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBjb25zdCBzdGFja01ldGhvZHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMuYWRhcHRlcikpKTtcbiAgICBjb25zdCBhZGFwdGVyUHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMuYWRhcHRlcik7XG4gICAgZm9yIChjb25zdCBwIG9mIFsuLi5zdGFja01ldGhvZHMsIC4uLmFkYXB0ZXJQcm9wZXJ0aWVzXSkge1xuXG4gICAgICBpZiAoWydjb25zdHJ1Y3RvcicsICdub2RlJ10uaW5jbHVkZXMocCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCB2ID0gKHRoaXMuYWRhcHRlciBhcyBhbnkpW3BdO1xuXG4gICAgICBpZiAodHlwZW9mKHYpID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIHRoaXMgaXMuLi5hZHZlbnR1cm91cz8geWVhaC4uLlxuICAgICAgICBjb25zdCBuID0gbmV3IEZ1bmN0aW9uKCcuLi5hcmdzJywgYHJldHVybiB0aGlzLmFkYXB0ZXIuJHtwfSguLi5hcmdzKTtgKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHAsIHsgdmFsdWU6IG4gfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcCwgeyB2YWx1ZTogdiB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgbmV3IG1hcHBlci5cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3Rlck1hcHBlcihtYXBwZXI6IG1hcHBlcnMuQ2xvdWRGb3JtYXRpb25SZXNvdXJjZU1hcHBlcikge1xuICAgIHRoaXMuYWRhcHRlci5yZWdpc3Rlck1hcHBlcihtYXBwZXIpO1xuICB9XG5cbn1cbiJdfQ==
@@ -11,6 +11,13 @@ const cdk8s_1 = require("cdk8s");
11
11
  * @schema Resource
12
12
  */
13
13
  class Resource extends cdk8s_1.ApiObject {
14
+ /**
15
+ * Returns the apiVersion and kind for "Resource"
16
+ */
17
+ static GVK = {
18
+ apiVersion: 'cloudcontrol.services.k8s.aws/v1alpha1',
19
+ kind: 'Resource',
20
+ };
14
21
  /**
15
22
  * Renders a Kubernetes manifest for "Resource".
16
23
  *
@@ -48,13 +55,6 @@ class Resource extends cdk8s_1.ApiObject {
48
55
  }
49
56
  }
50
57
  exports.Resource = Resource;
51
- /**
52
- * Returns the apiVersion and kind for "Resource"
53
- */
54
- Resource.GVK = {
55
- apiVersion: 'cloudcontrol.services.k8s.aws/v1alpha1',
56
- kind: 'Resource',
57
- };
58
58
  /**
59
59
  * Converts an object of type 'ResourceProps' to JSON representation.
60
60
  */
@@ -89,4 +89,4 @@ function toJson_ResourceSpec(obj) {
89
89
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
90
90
  }
91
91
  /* eslint-enable max-len, quote-props */
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRjb250cm9sLnNlcnZpY2VzLms4cy5hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0cy9jbG91ZGNvbnRyb2wuc2VydmljZXMuazhzLmF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtRkEsb0RBUUM7QUE2REQsa0RBV0M7QUFuS0QscUJBQXFCO0FBQ3JCLGlDQUF1RTtBQUl2RTs7OztHQUlHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsaUJBQVM7SUFTckM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUF1QixFQUFFO1FBQzlDLE9BQU87WUFDTCxHQUFHLFFBQVEsQ0FBQyxHQUFHO1lBQ2YsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLFFBQVEsQ0FBQyxHQUFHO1lBQ2YsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxRQUFRLENBQUMsR0FBRztZQUNmLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1NBQ2xDLENBQUM7SUFDSixDQUFDOztBQTlDSCw0QkErQ0M7QUE5Q0M7O0dBRUc7QUFDb0IsWUFBRyxHQUFxQjtJQUM3QyxVQUFVLEVBQUUsd0NBQXdDO0lBQ3BELElBQUksRUFBRSxVQUFVO0NBQ2pCLENBQUM7QUE4REo7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0Isb0JBQW9CLENBQUMsR0FBOEI7SUFDakUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFBQyxPQUFPLFNBQVMsQ0FBQztJQUFDLENBQUM7SUFDNUMsTUFBTSxNQUFNLEdBQUc7UUFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDeEIsTUFBTSxFQUFFLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7S0FDdEMsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxRyxDQUFDO0FBeUREOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLG1CQUFtQixDQUFDLEdBQTZCO0lBQy9ELElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQUMsT0FBTyxTQUFTLENBQUM7SUFBQyxDQUFDO0lBQzVDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzlCLGNBQWMsRUFBRSxHQUFHLENBQUMsWUFBWTtRQUNoQyxTQUFTLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDdEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3hCLGVBQWUsRUFBRSxHQUFHLENBQUMsYUFBYTtLQUNuQyxDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUFDRCx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBnZW5lcmF0ZWQgYnkgY2RrOHNcbmltcG9ydCB7IEFwaU9iamVjdCwgQXBpT2JqZWN0TWV0YWRhdGEsIEdyb3VwVmVyc2lvbktpbmQgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG4vKipcbiAqIFJlc291cmNlIGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBSZXNvdXJjZXMgQVBJXG4gKlxuICogQHNjaGVtYSBSZXNvdXJjZVxuICovXG5leHBvcnQgY2xhc3MgUmVzb3VyY2UgZXh0ZW5kcyBBcGlPYmplY3Qge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgYXBpVmVyc2lvbiBhbmQga2luZCBmb3IgXCJSZXNvdXJjZVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdWSzogR3JvdXBWZXJzaW9uS2luZCA9IHtcbiAgICBhcGlWZXJzaW9uOiAnY2xvdWRjb250cm9sLnNlcnZpY2VzLms4cy5hd3MvdjFhbHBoYTEnLFxuICAgIGtpbmQ6ICdSZXNvdXJjZScsXG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgYSBLdWJlcm5ldGVzIG1hbmlmZXN0IGZvciBcIlJlc291cmNlXCIuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gaW5saW5lIHJlc291cmNlIG1hbmlmZXN0cyBpbnNpZGUgb3RoZXIgb2JqZWN0cyAoZS5nLiBhcyB0ZW1wbGF0ZXMpLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgaW5pdGlhbGl6YXRpb24gcHJvcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWFuaWZlc3QocHJvcHM6IFJlc291cmNlUHJvcHMgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlJlc291cmNlLkdWSyxcbiAgICAgIC4uLnRvSnNvbl9SZXNvdXJjZVByb3BzKHByb3BzKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYSBcIlJlc291cmNlXCIgQVBJIG9iamVjdFxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgYSBzY29wZS1sb2NhbCBuYW1lIGZvciB0aGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXNvdXJjZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLlJlc291cmNlLkdWSyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG9iamVjdCB0byBLdWJlcm5ldGVzIEpTT04uXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBzdXBlci50b0pzb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5SZXNvdXJjZS5HVkssXG4gICAgICAuLi50b0pzb25fUmVzb3VyY2VQcm9wcyhyZXNvbHZlZCksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFJlc291cmNlIGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBSZXNvdXJjZXMgQVBJXG4gKlxuICogQHNjaGVtYSBSZXNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUHJvcHMge1xuICAvKipcbiAgICogQHNjaGVtYSBSZXNvdXJjZSNtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogUmVzb3VyY2VTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUmVzb3VyY2UuXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2Ujc3BlY1xuICAgKi9cbiAgcmVhZG9ubHkgc3BlYz86IFJlc291cmNlU3BlYztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdSZXNvdXJjZVByb3BzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9SZXNvdXJjZVByb3BzKG9iajogUmVzb3VyY2VQcm9wcyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ21ldGFkYXRhJzogb2JqLm1ldGFkYXRhLFxuICAgICdzcGVjJzogdG9Kc29uX1Jlc291cmNlU3BlYyhvYmouc3BlYyksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogUmVzb3VyY2VTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgUmVzb3VyY2UuXG4gKlxuICogQHNjaGVtYSBSZXNvdXJjZVNwZWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVNwZWMge1xuICAvKipcbiAgICogQSB1bmlxdWUgaWRlbnRpZmllciB0byBlbnN1cmUgdGhlIGlkZW1wb3RlbmN5IG9mIHRoZSByZXNvdXJjZSByZXF1ZXN0LiBBcyBhIGJlc3QgcHJhY3RpY2UsIHNwZWNpZnkgdGhpcyB0b2tlbiB0byBlbnN1cmUgaWRlbXBvdGVuY3ksIHNvIHRoYXQgQW1hem9uIFdlYiBTZXJ2aWNlcyBDbG91ZCBDb250cm9sIEFQSSBjYW4gYWNjdXJhdGVseSBkaXN0aW5ndWlzaCBiZXR3ZWVuIHJlcXVlc3QgcmV0cmllcyBhbmQgbmV3IHJlc291cmNlIHJlcXVlc3RzLiBZb3UgbWlnaHQgcmV0cnkgYSByZXNvdXJjZSByZXF1ZXN0IHRvIGVuc3VyZSB0aGF0IGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVjZWl2ZWQuXG4gICAqIEEgY2xpZW50IHRva2VuIGlzIHZhbGlkIGZvciAzNiBob3VycyBvbmNlIHVzZWQuIEFmdGVyIHRoYXQsIGEgcmVzb3VyY2UgcmVxdWVzdCB3aXRoIHRoZSBzYW1lIGNsaWVudCB0b2tlbiBpcyB0cmVhdGVkIGFzIGEgbmV3IHJlcXVlc3QuXG4gICAqIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIGNsaWVudCB0b2tlbiwgb25lIGlzIGdlbmVyYXRlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSByZXF1ZXN0LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIEVuc3VyaW5nIHJlc291cmNlIG9wZXJhdGlvbiByZXF1ZXN0cyBhcmUgdW5pcXVlIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRjb250cm9sYXBpL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2Utb3BlcmF0aW9ucy5odG1sI3Jlc291cmNlLW9wZXJhdGlvbnMtaWRlbXBvdGVuY3kpIGluIHRoZSBBbWF6b24gV2ViIFNlcnZpY2VzIENsb3VkIENvbnRyb2wgQVBJIFVzZXIgR3VpZGUuXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2VTcGVjI2NsaWVudFRva2VuXG4gICAqL1xuICByZWFkb25seSBjbGllbnRUb2tlbj86IHN0cmluZztcblxuICAvKipcbiAgICogU3RydWN0dXJlZCBkYXRhIGZvcm1hdCByZXByZXNlbnRpbmcgdGhlIGRlc2lyZWQgc3RhdGUgb2YgdGhlIHJlc291cmNlLCBjb25zaXN0aW5nIG9mIHRoYXQgcmVzb3VyY2UncyBwcm9wZXJ0aWVzIGFuZCB0aGVpciBkZXNpcmVkIHZhbHVlcy5cbiAgICogQ2xvdWQgQ29udHJvbCBBUEkgY3VycmVudGx5IHN1cHBvcnRzIEpTT04gYXMgYSBzdHJ1Y3R1cmVkIGRhdGEgZm9ybWF0LlxuICAgKiBTcGVjaWZ5IHRoZSBkZXNpcmVkIHN0YXRlIGFzIG9uZSBvZiB0aGUgZm9sbG93aW5nOlxuICAgKiAqIEEgSlNPTiBibG9iXG4gICAqICogQSBsb2NhbCBwYXRoIGNvbnRhaW5pbmcgdGhlIGRlc2lyZWQgc3RhdGUgaW4gSlNPTiBkYXRhIGZvcm1hdFxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIENvbXBvc2luZyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiB0aGUgcmVzb3VyY2UgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZGNvbnRyb2xhcGkvbGF0ZXN0L3VzZXJndWlkZS9yZXNvdXJjZS1vcGVyYXRpb25zLWNyZWF0ZS5odG1sI3Jlc291cmNlLW9wZXJhdGlvbnMtY3JlYXRlLWRlc2lyZWRzdGF0ZSkgaW4gdGhlIEFtYXpvbiBXZWIgU2VydmljZXMgQ2xvdWQgQ29udHJvbCBBUEkgVXNlciBHdWlkZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb3BlcnRpZXMgb2YgYSBzcGVjaWZpYyByZXNvdXJjZSwgcmVmZXIgdG8gdGhlIHJlbGF0ZWQgdG9waWMgZm9yIHRoZSByZXNvdXJjZSBpbiB0aGUgUmVzb3VyY2UgYW5kIHByb3BlcnR5IHR5cGVzIHJlZmVyZW5jZSAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXRlbXBsYXRlLXJlc291cmNlLXR5cGUtcmVmLmh0bWwpIGluIHRoZSBBbWF6b24gV2ViIFNlcnZpY2VzIENsb3VkRm9ybWF0aW9uIFVzZXJzIEd1aWRlLlxuICAgKlxuICAgKiBAc2NoZW1hIFJlc291cmNlU3BlYyNkZXNpcmVkU3RhdGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRTdGF0ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIElkZW50aXR5IGFuZCBBY2Nlc3MgTWFuYWdlbWVudCAoSUFNKSBmb3IgQ2xvdWQgQ29udHJvbCBBUEkgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyB0aGlzIHJlc291cmNlIG9wZXJhdGlvbi4gVGhlIHJvbGUgc3BlY2lmaWVkIG11c3QgaGF2ZSB0aGUgcGVybWlzc2lvbnMgcmVxdWlyZWQgZm9yIHRoaXMgb3BlcmF0aW9uLiBUaGUgbmVjZXNzYXJ5IHBlcm1pc3Npb25zIGZvciBlYWNoIGV2ZW50IGhhbmRsZXIgYXJlIGRlZmluZWQgaW4gdGhlIGhhbmRsZXJzIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRmb3JtYXRpb24tY2xpL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2UtdHlwZS1zY2hlbWEuaHRtbCNzY2hlbWEtcHJvcGVydGllcy1oYW5kbGVycykgc2VjdGlvbiBvZiB0aGUgcmVzb3VyY2UgdHlwZSBkZWZpbml0aW9uIHNjaGVtYSAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3VkZm9ybWF0aW9uLWNsaS9sYXRlc3QvdXNlcmd1aWRlL3Jlc291cmNlLXR5cGUtc2NoZW1hLmh0bWwpLlxuICAgKiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYSByb2xlLCBDbG91ZCBDb250cm9sIEFQSSB1c2VzIGEgdGVtcG9yYXJ5IHNlc3Npb24gY3JlYXRlZCB1c2luZyB5b3VyIEFtYXpvbiBXZWIgU2VydmljZXMgdXNlciBjcmVkZW50aWFscy5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBTcGVjaWZ5aW5nIGNyZWRlbnRpYWxzIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRjb250cm9sYXBpL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2Utb3BlcmF0aW9ucy5odG1sI3Jlc291cmNlLW9wZXJhdGlvbnMtcGVybWlzc2lvbnMpIGluIHRoZSBBbWF6b24gV2ViIFNlcnZpY2VzIENsb3VkIENvbnRyb2wgQVBJIFVzZXIgR3VpZGUuXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2VTcGVjI3JvbGVBUk5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0eXBlLlxuICAgKlxuICAgKiBAc2NoZW1hIFJlc291cmNlU3BlYyN0eXBlTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRm9yIHByaXZhdGUgcmVzb3VyY2UgdHlwZXMsIHRoZSB0eXBlIHZlcnNpb24gdG8gdXNlIGluIHRoaXMgcmVzb3VyY2Ugb3BlcmF0aW9uLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYSByZXNvdXJjZSB2ZXJzaW9uLCBDbG91ZEZvcm1hdGlvbiB1c2VzIHRoZSBkZWZhdWx0IHZlcnNpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2VTcGVjI3R5cGVWZXJzaW9uSURcbiAgICovXG4gIHJlYWRvbmx5IHR5cGVWZXJzaW9uSWQ/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnUmVzb3VyY2VTcGVjJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9SZXNvdXJjZVNwZWMob2JqOiBSZXNvdXJjZVNwZWMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdjbGllbnRUb2tlbic6IG9iai5jbGllbnRUb2tlbixcbiAgICAnZGVzaXJlZFN0YXRlJzogb2JqLmRlc2lyZWRTdGF0ZSxcbiAgICAncm9sZUFSTic6IG9iai5yb2xlQXJuLFxuICAgICd0eXBlTmFtZSc6IG9iai50eXBlTmFtZSxcbiAgICAndHlwZVZlcnNpb25JRCc6IG9iai50eXBlVmVyc2lvbklkLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWRjb250cm9sLnNlcnZpY2VzLms4cy5hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0cy9jbG91ZGNvbnRyb2wuc2VydmljZXMuazhzLmF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtRkEsb0RBUUM7QUE2REQsa0RBV0M7QUFuS0QscUJBQXFCO0FBQ3JCLGlDQUF1RTtBQUl2RTs7OztHQUlHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsaUJBQVM7SUFDckM7O09BRUc7SUFDSSxNQUFNLENBQVUsR0FBRyxHQUFxQjtRQUM3QyxVQUFVLEVBQUUsd0NBQXdDO1FBQ3BELElBQUksRUFBRSxVQUFVO0tBQ2pCLENBQUM7SUFFRjs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQXVCLEVBQUU7UUFDOUMsT0FBTztZQUNMLEdBQUcsUUFBUSxDQUFDLEdBQUc7WUFDZixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQztTQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBdUIsRUFBRTtRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsUUFBUSxDQUFDLEdBQUc7WUFDZixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWhDLE9BQU87WUFDTCxHQUFHLFFBQVEsQ0FBQyxHQUFHO1lBQ2YsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7U0FDbEMsQ0FBQztJQUNKLENBQUM7O0FBOUNILDRCQStDQztBQXNCRDs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQixvQkFBb0IsQ0FBQyxHQUE4QjtJQUNqRSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUFDLE9BQU8sU0FBUyxDQUFDO0lBQUMsQ0FBQztJQUM1QyxNQUFNLE1BQU0sR0FBRztRQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUTtRQUN4QixNQUFNLEVBQUUsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztLQUN0QyxDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUF5REQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IsbUJBQW1CLENBQUMsR0FBNkI7SUFDL0QsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFBQyxPQUFPLFNBQVMsQ0FBQztJQUFDLENBQUM7SUFDNUMsTUFBTSxNQUFNLEdBQUc7UUFDYixhQUFhLEVBQUUsR0FBRyxDQUFDLFdBQVc7UUFDOUIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQ2hDLFNBQVMsRUFBRSxHQUFHLENBQUMsT0FBTztRQUN0QixVQUFVLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDeEIsZUFBZSxFQUFFLEdBQUcsQ0FBQyxhQUFhO0tBQ25DLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQztBQUNELHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGdlbmVyYXRlZCBieSBjZGs4c1xuaW1wb3J0IHsgQXBpT2JqZWN0LCBBcGlPYmplY3RNZXRhZGF0YSwgR3JvdXBWZXJzaW9uS2luZCB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbi8qKlxuICogUmVzb3VyY2UgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIFJlc291cmNlcyBBUElcbiAqXG4gKiBAc2NoZW1hIFJlc291cmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZSBleHRlbmRzIEFwaU9iamVjdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhcGlWZXJzaW9uIGFuZCBraW5kIGZvciBcIlJlc291cmNlXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgR1ZLOiBHcm91cFZlcnNpb25LaW5kID0ge1xuICAgIGFwaVZlcnNpb246ICdjbG91ZGNvbnRyb2wuc2VydmljZXMuazhzLmF3cy92MWFscGhhMScsXG4gICAga2luZDogJ1Jlc291cmNlJyxcbiAgfTtcblxuICAvKipcbiAgICogUmVuZGVycyBhIEt1YmVybmV0ZXMgbWFuaWZlc3QgZm9yIFwiUmVzb3VyY2VcIi5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBpbmxpbmUgcmVzb3VyY2UgbWFuaWZlc3RzIGluc2lkZSBvdGhlciBvYmplY3RzIChlLmcuIGFzIHRlbXBsYXRlcykuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYW5pZmVzdChwcm9wczogUmVzb3VyY2VQcm9wcyA9IHt9KTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uUmVzb3VyY2UuR1ZLLFxuICAgICAgLi4udG9Kc29uX1Jlc291cmNlUHJvcHMocHJvcHMpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBhIFwiUmVzb3VyY2VcIiBBUEkgb2JqZWN0XG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgb2JqZWN0XG4gICAqIEBwYXJhbSBpZCBhIHNjb3BlLWxvY2FsIG5hbWUgZm9yIHRoZSBvYmplY3RcbiAgICogQHBhcmFtIHByb3BzIGluaXRpYWxpemF0aW9uIHByb3BzXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJlc291cmNlUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4uUmVzb3VyY2UuR1ZLLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgb2JqZWN0IHRvIEt1YmVybmV0ZXMgSlNPTi5cbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZCA9IHN1cGVyLnRvSnNvbigpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlJlc291cmNlLkdWSyxcbiAgICAgIC4uLnRvSnNvbl9SZXNvdXJjZVByb3BzKHJlc29sdmVkKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUmVzb3VyY2UgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIFJlc291cmNlcyBBUElcbiAqXG4gKiBAc2NoZW1hIFJlc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIFJlc291cmNlI21ldGFkYXRhXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IEFwaU9iamVjdE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZVNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBSZXNvdXJjZS5cbiAgICpcbiAgICogQHNjaGVtYSBSZXNvdXJjZSNzcGVjXG4gICAqL1xuICByZWFkb25seSBzcGVjPzogUmVzb3VyY2VTcGVjO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1Jlc291cmNlUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1Jlc291cmNlUHJvcHMob2JqOiBSZXNvdXJjZVByb3BzIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnbWV0YWRhdGEnOiBvYmoubWV0YWRhdGEsXG4gICAgJ3NwZWMnOiB0b0pzb25fUmVzb3VyY2VTcGVjKG9iai5zcGVjKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBSZXNvdXJjZVNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBSZXNvdXJjZS5cbiAqXG4gKiBAc2NoZW1hIFJlc291cmNlU3BlY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlU3BlYyB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHRvIGVuc3VyZSB0aGUgaWRlbXBvdGVuY3kgb2YgdGhlIHJlc291cmNlIHJlcXVlc3QuIEFzIGEgYmVzdCBwcmFjdGljZSwgc3BlY2lmeSB0aGlzIHRva2VuIHRvIGVuc3VyZSBpZGVtcG90ZW5jeSwgc28gdGhhdCBBbWF6b24gV2ViIFNlcnZpY2VzIENsb3VkIENvbnRyb2wgQVBJIGNhbiBhY2N1cmF0ZWx5IGRpc3Rpbmd1aXNoIGJldHdlZW4gcmVxdWVzdCByZXRyaWVzIGFuZCBuZXcgcmVzb3VyY2UgcmVxdWVzdHMuIFlvdSBtaWdodCByZXRyeSBhIHJlc291cmNlIHJlcXVlc3QgdG8gZW5zdXJlIHRoYXQgaXQgd2FzIHN1Y2Nlc3NmdWxseSByZWNlaXZlZC5cbiAgICogQSBjbGllbnQgdG9rZW4gaXMgdmFsaWQgZm9yIDM2IGhvdXJzIG9uY2UgdXNlZC4gQWZ0ZXIgdGhhdCwgYSByZXNvdXJjZSByZXF1ZXN0IHdpdGggdGhlIHNhbWUgY2xpZW50IHRva2VuIGlzIHRyZWF0ZWQgYXMgYSBuZXcgcmVxdWVzdC5cbiAgICogSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgY2xpZW50IHRva2VuLCBvbmUgaXMgZ2VuZXJhdGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIHJlcXVlc3QuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgRW5zdXJpbmcgcmVzb3VyY2Ugb3BlcmF0aW9uIHJlcXVlc3RzIGFyZSB1bmlxdWUgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZGNvbnRyb2xhcGkvbGF0ZXN0L3VzZXJndWlkZS9yZXNvdXJjZS1vcGVyYXRpb25zLmh0bWwjcmVzb3VyY2Utb3BlcmF0aW9ucy1pZGVtcG90ZW5jeSkgaW4gdGhlIEFtYXpvbiBXZWIgU2VydmljZXMgQ2xvdWQgQ29udHJvbCBBUEkgVXNlciBHdWlkZS5cbiAgICpcbiAgICogQHNjaGVtYSBSZXNvdXJjZVNwZWMjY2xpZW50VG9rZW5cbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudFRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdHJ1Y3R1cmVkIGRhdGEgZm9ybWF0IHJlcHJlc2VudGluZyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiB0aGUgcmVzb3VyY2UsIGNvbnNpc3Rpbmcgb2YgdGhhdCByZXNvdXJjZSdzIHByb3BlcnRpZXMgYW5kIHRoZWlyIGRlc2lyZWQgdmFsdWVzLlxuICAgKiBDbG91ZCBDb250cm9sIEFQSSBjdXJyZW50bHkgc3VwcG9ydHMgSlNPTiBhcyBhIHN0cnVjdHVyZWQgZGF0YSBmb3JtYXQuXG4gICAqIFNwZWNpZnkgdGhlIGRlc2lyZWQgc3RhdGUgYXMgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4gICAqICogQSBKU09OIGJsb2JcbiAgICogKiBBIGxvY2FsIHBhdGggY29udGFpbmluZyB0aGUgZGVzaXJlZCBzdGF0ZSBpbiBKU09OIGRhdGEgZm9ybWF0XG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgQ29tcG9zaW5nIHRoZSBkZXNpcmVkIHN0YXRlIG9mIHRoZSByZXNvdXJjZSAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3VkY29udHJvbGFwaS9sYXRlc3QvdXNlcmd1aWRlL3Jlc291cmNlLW9wZXJhdGlvbnMtY3JlYXRlLmh0bWwjcmVzb3VyY2Utb3BlcmF0aW9ucy1jcmVhdGUtZGVzaXJlZHN0YXRlKSBpbiB0aGUgQW1hem9uIFdlYiBTZXJ2aWNlcyBDbG91ZCBDb250cm9sIEFQSSBVc2VyIEd1aWRlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvcGVydGllcyBvZiBhIHNwZWNpZmljIHJlc291cmNlLCByZWZlciB0byB0aGUgcmVsYXRlZCB0b3BpYyBmb3IgdGhlIHJlc291cmNlIGluIHRoZSBSZXNvdXJjZSBhbmQgcHJvcGVydHkgdHlwZXMgcmVmZXJlbmNlIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtdGVtcGxhdGUtcmVzb3VyY2UtdHlwZS1yZWYuaHRtbCkgaW4gdGhlIEFtYXpvbiBXZWIgU2VydmljZXMgQ2xvdWRGb3JtYXRpb24gVXNlcnMgR3VpZGUuXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2VTcGVjI2Rlc2lyZWRTdGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzaXJlZFN0YXRlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgSWRlbnRpdHkgYW5kIEFjY2VzcyBNYW5hZ2VtZW50IChJQU0pIGZvciBDbG91ZCBDb250cm9sIEFQSSB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nIHRoaXMgcmVzb3VyY2Ugb3BlcmF0aW9uLiBUaGUgcm9sZSBzcGVjaWZpZWQgbXVzdCBoYXZlIHRoZSBwZXJtaXNzaW9ucyByZXF1aXJlZCBmb3IgdGhpcyBvcGVyYXRpb24uIFRoZSBuZWNlc3NhcnkgcGVybWlzc2lvbnMgZm9yIGVhY2ggZXZlbnQgaGFuZGxlciBhcmUgZGVmaW5lZCBpbiB0aGUgaGFuZGxlcnMgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZGZvcm1hdGlvbi1jbGkvbGF0ZXN0L3VzZXJndWlkZS9yZXNvdXJjZS10eXBlLXNjaGVtYS5odG1sI3NjaGVtYS1wcm9wZXJ0aWVzLWhhbmRsZXJzKSBzZWN0aW9uIG9mIHRoZSByZXNvdXJjZSB0eXBlIGRlZmluaXRpb24gc2NoZW1hIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRmb3JtYXRpb24tY2xpL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2UtdHlwZS1zY2hlbWEuaHRtbCkuXG4gICAqIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIHJvbGUsIENsb3VkIENvbnRyb2wgQVBJIHVzZXMgYSB0ZW1wb3Jhcnkgc2Vzc2lvbiBjcmVhdGVkIHVzaW5nIHlvdXIgQW1hem9uIFdlYiBTZXJ2aWNlcyB1c2VyIGNyZWRlbnRpYWxzLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFNwZWNpZnlpbmcgY3JlZGVudGlhbHMgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZGNvbnRyb2xhcGkvbGF0ZXN0L3VzZXJndWlkZS9yZXNvdXJjZS1vcGVyYXRpb25zLmh0bWwjcmVzb3VyY2Utb3BlcmF0aW9ucy1wZXJtaXNzaW9ucykgaW4gdGhlIEFtYXpvbiBXZWIgU2VydmljZXMgQ2xvdWQgQ29udHJvbCBBUEkgVXNlciBHdWlkZS5cbiAgICpcbiAgICogQHNjaGVtYSBSZXNvdXJjZVNwZWMjcm9sZUFSTlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUuXG4gICAqXG4gICAqIEBzY2hlbWEgUmVzb3VyY2VTcGVjI3R5cGVOYW1lXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGb3IgcHJpdmF0ZSByZXNvdXJjZSB0eXBlcywgdGhlIHR5cGUgdmVyc2lvbiB0byB1c2UgaW4gdGhpcyByZXNvdXJjZSBvcGVyYXRpb24uIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIHJlc291cmNlIHZlcnNpb24sIENsb3VkRm9ybWF0aW9uIHVzZXMgdGhlIGRlZmF1bHQgdmVyc2lvbi5cbiAgICpcbiAgICogQHNjaGVtYSBSZXNvdXJjZVNwZWMjdHlwZVZlcnNpb25JRFxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZVZlcnNpb25JZD86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdSZXNvdXJjZVNwZWMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1Jlc291cmNlU3BlYyhvYmo6IFJlc291cmNlU3BlYyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ2NsaWVudFRva2VuJzogb2JqLmNsaWVudFRva2VuLFxuICAgICdkZXNpcmVkU3RhdGUnOiBvYmouZGVzaXJlZFN0YXRlLFxuICAgICdyb2xlQVJOJzogb2JqLnJvbGVBcm4sXG4gICAgJ3R5cGVOYW1lJzogb2JqLnR5cGVOYW1lLFxuICAgICd0eXBlVmVyc2lvbklEJzogb2JqLnR5cGVWZXJzaW9uSWQsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbiJdfQ==