@aws-mdaa/datawarehouse 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -116,8 +116,8 @@ subnetIds:
116
116
  #Example: 'Sun:23:45-Mon:00:15'
117
117
  preferredMaintenanceWindow: Sun:23:45-Mon:00:15
118
118
 
119
- # Port the cluster will listen on (defaults to 5439)
120
- clusterPort: 54390
119
+ # Port the cluster will listen on (defaults to 5440)
120
+ clusterPort: 5440
121
121
 
122
122
  # Ingress rules to be added to the cluster security group.
123
123
  # All other traffic will be blocked
package/SCHEMA.md CHANGED
@@ -12,7 +12,7 @@
12
12
  | + [adminPasswordRotationDays](#adminPasswordRotationDays ) | No | number | No | - | Set the number of days between admin password rotations |
13
13
  | + [adminUsername](#adminUsername ) | No | string | No | - | Set the admin user name for the cluster |
14
14
  | - [automatedSnapshotRetentionDays](#automatedSnapshotRetentionDays ) | No | number | No | - | Number of days that automated snapshots are retained |
15
- | - [clusterPort](#clusterPort ) | No | number | No | - | The cluster port (default: 54390) |
15
+ | - [clusterPort](#clusterPort ) | No | number | No | - | The cluster port (default: 5440) |
16
16
  | - [createWarehouseBucket](#createWarehouseBucket ) | No | boolean | No | - | If true(default), a Data Warehouse bucket will be created |
17
17
  | + [dataAdminRoles](#dataAdminRoles ) | No | array | No | - | List of admin roles which will be provided access to cluster resources (like KMS/Bucket) |
18
18
  | - [databaseUsers](#databaseUsers ) | No | array | No | - | List of Users to be created in Redshift Database, then stored & rotated in secrets manager -> ssm |
@@ -96,7 +96,7 @@
96
96
  | **Type** | `number` |
97
97
  | **Required** | No |
98
98
 
99
- **Description:** The cluster port (default: 54390)
99
+ **Description:** The cluster port (default: 5440)
100
100
 
101
101
  ## <a name="createWarehouseBucket"></a>6. Property `root > createWarehouseBucket`
102
102
 
@@ -428,7 +428,7 @@
428
428
  "type": "number"
429
429
  },
430
430
  "clusterPort": {
431
- "description": "Q-ENHANCED-PROPERTY\nOptional cluster port number for client connections enabling custom port configuration and network security. Defines the TCP port on which the Redshift cluster accepts client connections, supporting custom networking requirements and security configurations.\n\nUse cases: Custom port configuration; Network security; Client connection management; Port standardization\n\nAWS: Amazon Redshift cluster port configuration for client connection management\n\nValidation: Must be valid port number if specified; defaults to 54390; must be accessible through security groups",
431
+ "description": "Q-ENHANCED-PROPERTY\nOptional cluster port number for client connections enabling custom port configuration and network security. Defines the TCP port on which the Redshift cluster accepts client connections, supporting custom networking requirements and security configurations.\n\nUse cases: Custom port configuration; Network security; Client connection management; Port standardization\n\nAWS: Amazon Redshift cluster port configuration for client connection management\n\nValidation: Must be valid port number if specified; defaults to 5440; must be accessible through security groups",
432
432
  "type": "number"
433
433
  },
434
434
  "createWarehouseBucket": {
@@ -492,7 +492,7 @@
492
492
  "type": "number"
493
493
  },
494
494
  "parameterGroupParams": {
495
- "$ref": "#/definitions/Record<string,string>",
495
+ "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
496
496
  "description": "Q-ENHANCED-PROPERTY\nOptional parameter group parameters for cluster configuration customization enabling performance tuning and operational optimization. Provides additional cluster parameters while security-sensitive values are automatically overridden for compliance and security.\n\nUse cases: Performance tuning; Operational optimization; Custom cluster configuration; Workload-specific settings\n\nAWS: Amazon Redshift parameter group configuration for cluster customization and optimization\n\nValidation: Must be object with string key-value pairs if provided; security-sensitive values will be overridden\n *"
497
497
  },
498
498
  "preferredMaintenanceWindow": {
@@ -151,7 +151,7 @@ export interface DataWarehouseConfigContents extends MdaaBaseConfigContents {
151
151
  *
152
152
  * AWS: Amazon Redshift cluster port configuration for client connection management
153
153
  *
154
- * Validation: Must be valid port number if specified; defaults to 54390; must be accessible through security groups
154
+ * Validation: Must be valid port number if specified; defaults to 5440; must be accessible through security groups
155
155
  **/
156
156
  readonly clusterPort?: number;
157
157
  /**
@@ -316,7 +316,7 @@ export declare class DataWarehouseConfigParser extends MdaaAppConfigParser<DataW
316
316
  readonly parameterGroupParams: Record<string, string>;
317
317
  readonly workloadManagement: ConfigurationElement[];
318
318
  readonly additionalBucketKmsKeyArns?: string[];
319
- static readonly defaultClusterPort = 54390;
319
+ static readonly defaultClusterPort = 5440;
320
320
  readonly scheduledActions: ScheduledActionProps[];
321
321
  readonly createWarehouseBucket?: boolean;
322
322
  readonly automatedSnapshotRetentionDays?: number;
@@ -44,5 +44,5 @@ class DataWarehouseConfigParser extends app_1.MdaaAppConfigParser {
44
44
  }
45
45
  }
46
46
  exports.DataWarehouseConfigParser = DataWarehouseConfigParser;
47
- DataWarehouseConfigParser.defaultClusterPort = 54390;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXdhcmVob3VzZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhd2FyZWhvdXNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCx1Q0FBc0c7QUFVdEcscURBQXFEO0FBZ1NyRCxNQUFhLHlCQUEwQixTQUFRLHlCQUFnRDtJQThCN0YsWUFBWSxLQUFZLEVBQUUsS0FBK0I7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBc0IsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUM7UUFDL0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFDNUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7UUFDaEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUM7UUFDekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVc7WUFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVztZQUNqQyxDQUFDLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQztRQUNqRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0I7WUFDbEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO1lBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9HLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztRQUN2RSxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyw4QkFBOEIsQ0FBQztRQUN6RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDO1FBQ3JFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixDQUFDO0lBQ3ZGLENBQUM7O0FBaEVILDhEQWlFQztBQTdDd0IsNENBQWtCLEdBQUcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgTWRhYUFwcENvbmZpZ1BhcnNlciwgTWRhYUFwcENvbmZpZ1BhcnNlclByb3BzLCBNZGFhQmFzZUNvbmZpZ0NvbnRlbnRzIH0gZnJvbSAnQGF3cy1tZGFhL2FwcCc7XG5pbXBvcnQge1xuICBGZWRlcmF0aW9uUHJvcHMsXG4gIFNjaGVkdWxlZEFjdGlvblByb3BzLFxuICBEYXRhYmFzZVVzZXJzUHJvcHMsXG4gIEV2ZW50Tm90aWZpY2F0aW9uc1Byb3BzLFxufSBmcm9tICdAYXdzLW1kYWEvZGF0YXdhcmVob3VzZS1sMy1jb25zdHJ1Y3QnO1xuaW1wb3J0IHsgTWRhYVJvbGVSZWYgfSBmcm9tICdAYXdzLW1kYWEvaWFtLXJvbGUtaGVscGVyJztcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ2Fqdic7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvbmZpZ1NjaGVtYSBmcm9tICcuL2NvbmZpZy1zY2hlbWEuanNvbic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRWxlbWVudCB9IGZyb20gJ0Bhd3MtbWRhYS9jb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFXYXJlaG91c2VDb25maWdDb250ZW50cyBleHRlbmRzIE1kYWFCYXNlQ29uZmlnQ29udGVudHMge1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBhZG1pbiB1c2VybmFtZSBmb3IgdGhlIFJlZHNoaWZ0IGNsdXN0ZXIgcHJvdmlkaW5nIGFkbWluaXN0cmF0aXZlIGFjY2VzcyB0byB0aGUgZGF0YSB3YXJlaG91c2UuIERlZmluZXMgdGhlIG1hc3RlciB1c2VyIGFjY291bnQgZm9yIGNsdXN0ZXIgYWRtaW5pc3RyYXRpb24sIGRhdGFiYXNlIG1hbmFnZW1lbnQsIGFuZCBpbml0aWFsIHVzZXIgcHJvdmlzaW9uaW5nLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENsdXN0ZXIgYWRtaW5pc3RyYXRpb247IERhdGFiYXNlIG1hbmFnZW1lbnQ7IEluaXRpYWwgdXNlciBwcm92aXNpb25pbmdcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgY2x1c3RlciBtYXN0ZXIgdXNlcm5hbWUgZm9yIGFkbWluaXN0cmF0aXZlIGFjY2VzcyBhbmQgZGF0YWJhc2UgbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIFJlZHNoaWZ0IHVzZXJuYW1lOyByZXF1aXJlZDsgdXNlZCBmb3IgY2x1c3RlciBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3NcbiAgICoqL1xuICByZWFkb25seSBhZG1pblVzZXJuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIFJlcXVpcmVkIG51bWJlciBvZiBkYXlzIGJldHdlZW4gYXV0b21hdGljIGFkbWluIHBhc3N3b3JkIHJvdGF0aW9ucyBmb3IgZW5oYW5jZWQgc2VjdXJpdHkgY29tcGxpYW5jZS4gRW5hYmxlcyBhdXRvbWF0ZWQgY3JlZGVudGlhbCBtYW5hZ2VtZW50IGFuZCBjb21wbGlhbmNlIHdpdGggcGFzc3dvcmQgcm90YXRpb24gcG9saWNpZXMgZm9yIGltcHJvdmVkIGNsdXN0ZXIgc2VjdXJpdHkgcG9zdHVyZS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBBdXRvbWF0ZWQgY3JlZGVudGlhbCByb3RhdGlvbjsgU2VjdXJpdHkgcG9saWN5IGNvbXBsaWFuY2U7IFBhc3N3b3JkIG1hbmFnZW1lbnQgYXV0b21hdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBhdXRvbWF0aWMgcGFzc3dvcmQgcm90YXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VjdXJpdHkgbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHBvc2l0aXZlIGludGVnZXI7IHJlcXVpcmVkOyBkZWZpbmVzIHBhc3N3b3JkIHJvdGF0aW9uIGZyZXF1ZW5jeSBmb3Igc2VjdXJpdHkgY29tcGxpYW5jZVxuICAgKiovXG4gIHJlYWRvbmx5IGFkbWluUGFzc3dvcmRSb3RhdGlvbkRheXM6IG51bWJlcjtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgYXJyYXkgb2YgZmVkZXJhdGlvbiBjb25maWd1cmF0aW9ucyBmb3IgU0FNTCBvciBPSURDIGlkZW50aXR5IHByb3ZpZGVyIGludGVncmF0aW9uIHdpdGggdGhlIGRhdGEgd2FyZWhvdXNlLiBFbmFibGVzIGZlZGVyYXRlZCBhY2Nlc3MgdG8gUmVkc2hpZnQgdGhyb3VnaCBleHRlcm5hbCBpZGVudGl0eSBwcm92aWRlcnMgZm9yIGNlbnRyYWxpemVkIGlkZW50aXR5IG1hbmFnZW1lbnQgYW5kIFNTTyBjYXBhYmlsaXRpZXMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogU0FNTCBmZWRlcmF0aW9uIHNldHVwOyBPSURDIHByb3ZpZGVyIGludGVncmF0aW9uOyBDZW50cmFsaXplZCBpZGVudGl0eSBtYW5hZ2VtZW50IGZvciBkYXRhIHdhcmVob3VzZSBhY2Nlc3NcbiAgICpcbiAgICogQVdTOiBBV1MgSUFNIGlkZW50aXR5IHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gZm9yIGZlZGVyYXRlZCBSZWRzaGlmdCBhY2Nlc3MgYW5kIFNTTyBpbnRlZ3JhdGlvblxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIEZlZGVyYXRpb25Qcm9wcyBpZiBwcm92aWRlZDsgZW5hYmxlcyBmZWRlcmF0ZWQgYXV0aGVudGljYXRpb24gd2hlbiBzcGVjaWZpZWRcbiAgICoqL1xuICByZWFkb25seSBmZWRlcmF0aW9ucz86IEZlZGVyYXRpb25Qcm9wc1tdO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBhcnJheSBvZiBhZG1pbiByb2xlIHJlZmVyZW5jZXMgd2l0aCBmdWxsIGFjY2VzcyB0byBjbHVzdGVyIHJlc291cmNlcyBpbmNsdWRpbmcgS01TIGtleXMgYW5kIFMzIGJ1Y2tldHMuIFByb3ZpZGVzIGFkbWluaXN0cmF0aXZlIHBlcm1pc3Npb25zIGZvciBkYXRhIHdhcmVob3VzZSBtYW5hZ2VtZW50LCBzZWN1cml0eSBhZG1pbmlzdHJhdGlvbiwgYW5kIHJlc291cmNlIGFjY2VzcyBjb250cm9sLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IEFkbWluaXN0cmF0aXZlIGFjY2VzcyBjb250cm9sOyBTZWN1cml0eSBtYW5hZ2VtZW50OyBSZXNvdXJjZSBhZG1pbmlzdHJhdGlvblxuICAgKlxuICAgKiBBV1M6IEFXUyBJQU0gcm9sZXMgd2l0aCBmdWxsIFJlZHNoaWZ0IGNsdXN0ZXIgYW5kIHJlc291cmNlIGFjY2VzcyBwZXJtaXNzaW9uc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIE1kYWFSb2xlUmVmIG9iamVjdHM7IHJlcXVpcmVkOyByb2xlcyByZWNlaXZlIGZ1bGwgY2x1c3RlciBhY2Nlc3NcbiAgICoqL1xuICByZWFkb25seSBkYXRhQWRtaW5Sb2xlczogTWRhYVJvbGVSZWZbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgYXJyYXkgb2YgdXNlciByb2xlIHJlZmVyZW5jZXMgd2l0aCBhY2Nlc3MgdG8gZGF0YSB3YXJlaG91c2UgUzMgYnVja2V0cyBmb3IgZGF0YSBsb2FkaW5nIGFuZCB1bmxvYWRpbmcgb3BlcmF0aW9ucy4gRW5hYmxlcyBjb250cm9sbGVkIGFjY2VzcyB0byB3YXJlaG91c2Ugc3RvcmFnZSByZXNvdXJjZXMgZm9yIEVUTCBvcGVyYXRpb25zIGFuZCBkYXRhIG1hbmFnZW1lbnQgd29ya2Zsb3dzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IERhdGEgbG9hZGluZyBvcGVyYXRpb25zOyBFVEwgd29ya2Zsb3cgYWNjZXNzOyBDb250cm9sbGVkIHN0b3JhZ2UgYWNjZXNzXG4gICAqXG4gICAqIEFXUzogQVdTIElBTSByb2xlcyB3aXRoIFMzIGJ1Y2tldCBhY2Nlc3MgZm9yIFJlZHNoaWZ0IGRhdGEgb3BlcmF0aW9uc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIE1kYWFSb2xlUmVmIG9iamVjdHMgaWYgcHJvdmlkZWQ7IHJvbGVzIHJlY2VpdmUgYnVja2V0IGFjY2VzcyBwZXJtaXNzaW9uc1xuICAgKiovXG4gIHJlYWRvbmx5IHdhcmVob3VzZUJ1Y2tldFVzZXJSb2xlcz86IE1kYWFSb2xlUmVmW107XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGFycmF5IG9mIGV4dGVybmFsIGV4ZWN1dGlvbiByb2xlIHJlZmVyZW5jZXMgZm9yIFJlZHNoaWZ0IGNsdXN0ZXIgb3BlcmF0aW9ucyBhbmQgaW50ZWdyYXRpb25zLiBFbmFibGVzIGNsdXN0ZXIgdG8gYXNzdW1lIGV4dGVybmFsIHJvbGVzIGZvciBjcm9zcy1zZXJ2aWNlIG9wZXJhdGlvbnMsIGRhdGEgYWNjZXNzLCBhbmQgaW50ZWdyYXRpb24gd2l0aCBvdGhlciBBV1Mgc2VydmljZXMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogQ3Jvc3Mtc2VydmljZSBvcGVyYXRpb25zOyBFeHRlcm5hbCBkYXRhIGFjY2VzczsgU2VydmljZSBpbnRlZ3JhdGlvbiB3b3JrZmxvd3NcbiAgICpcbiAgICogQVdTOiBBV1MgSUFNIHJvbGVzIGZvciBSZWRzaGlmdCBjbHVzdGVyIGNyb3NzLXNlcnZpY2Ugb3BlcmF0aW9ucyBhbmQgaW50ZWdyYXRpb25zXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgYXJyYXkgb2YgdmFsaWQgTWRhYVJvbGVSZWYgb2JqZWN0cyBpZiBwcm92aWRlZDsgcm9sZXMgbXVzdCBiZSBhc3N1bWFibGUgYnkgUmVkc2hpZnQgc2VydmljZVxuICAgKiovXG4gIHJlYWRvbmx5IGV4ZWN1dGlvblJvbGVzPzogTWRhYVJvbGVSZWZbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgVlBDIElEIGZvciBSZWRzaGlmdCBjbHVzdGVyIGRlcGxveW1lbnQgcHJvdmlkaW5nIG5ldHdvcmsgaXNvbGF0aW9uIGFuZCBzZWN1cml0eSBjb250cm9scy4gRW5zdXJlcyBjbHVzdGVyIG9wZXJhdGVzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIFZQQyBmb3Igc2VjdXJlIG5ldHdvcmtpbmcgYW5kIGludGVncmF0aW9uIHdpdGggb3RoZXIgVlBDIHJlc291cmNlcy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBWUEMgbmV0d29yayBpc29sYXRpb247IFNlY3VyZSBuZXR3b3JraW5nOyBWUEMgcmVzb3VyY2UgaW50ZWdyYXRpb25cbiAgICpcbiAgICogQVdTOiBBbWF6b24gVlBDIGZvciBSZWRzaGlmdCBjbHVzdGVyIG5ldHdvcmsgaXNvbGF0aW9uIGFuZCBzZWN1cml0eSBjb250cm9sc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIFZQQyBJRDsgcmVxdWlyZWQ7IFZQQyBtdXN0IGV4aXN0IGFuZCBiZSBhY2Nlc3NpYmxlXG4gICAqKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgYXJyYXkgb2Ygc3VibmV0IElEcyBmb3IgUmVkc2hpZnQgY2x1c3RlciBub2RlIHBsYWNlbWVudCB3aXRoaW4gdGhlIFZQQy4gRGVmaW5lcyB0aGUgbmV0d29yayBzdWJuZXRzIHdoZXJlIGNsdXN0ZXIgbm9kZXMgd2lsbCBiZSBkZXBsb3llZCBmb3Igc2VjdXJlIFZQQyBjb25uZWN0aXZpdHkgYW5kIGF2YWlsYWJpbGl0eSB6b25lIGRpc3RyaWJ1dGlvbi5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBWUEMgbmV0d29yayBwbGFjZW1lbnQ7IFN1Ym5ldC1zcGVjaWZpYyBkZXBsb3ltZW50OyBNdWx0aS1BWiBjbHVzdGVyIGRpc3RyaWJ1dGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBWUEMgc3VibmV0cyBmb3IgUmVkc2hpZnQgY2x1c3RlciBub2RlIHBsYWNlbWVudCBhbmQgbmV0d29yayBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgYXJyYXkgb2YgdmFsaWQgc3VibmV0IElEczsgcmVxdWlyZWQ7IHN1Ym5ldHMgbXVzdCBleGlzdCBpbiBzcGVjaWZpZWQgVlBDXG4gICAqKi9cbiAgcmVhZG9ubHkgc3VibmV0SWRzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBjb25maWd1cmF0aW9uIGRlZmluaW5nIGFsbG93ZWQgaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgY2x1c3Rlci4gU3BlY2lmaWVzIElQdjQgQ0lEUiBibG9ja3MgYW5kIHNlY3VyaXR5IGdyb3VwIElEcyB0aGF0IGNhbiBjb25uZWN0IHRvIHRoZSBjbHVzdGVyIHBvcnQgZm9yIGNvbnRyb2xsZWQgbmV0d29yayBhY2Nlc3MuXG4gICAqXG4gICAqIFVzZSBjYXNlczogTmV0d29yayBhY2Nlc3MgY29udHJvbDsgQ2xpZW50IGNvbm5lY3Rpdml0eTsgU2VjdXJpdHkgZ3JvdXAgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBWUEMgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlcyBmb3IgUmVkc2hpZnQgY2x1c3RlciBhY2Nlc3MgY29udHJvbFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIG9iamVjdCB3aXRoIGlwdjQgYW5kL29yIHNnIGFycmF5czsgcmVxdWlyZWQ7IGRlZmluZXMgYWxsb3dlZCBpbmJvdW5kIGNvbm5lY3Rpb25zXG4gICAqICAgKiovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJbmdyZXNzOiB7IGlwdjQ/OiBzdHJpbmdbXTsgc2c/OiBzdHJpbmdbXSB9O1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBub2RlIHR5cGUgc3BlY2lmaWNhdGlvbiBkZXRlcm1pbmluZyBjb21wdXRlIGFuZCBzdG9yYWdlIGNhcGFjaXR5IGZvciBjbHVzdGVyIG5vZGVzLiBDb250cm9scyB0aGUgdW5kZXJseWluZyBFQzIgaW5zdGFuY2UgdHlwZSBhbmQgYWZmZWN0cyBwZXJmb3JtYW5jZSwgc3RvcmFnZSwgYW5kIGNvc3QgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBkYXRhIHdhcmVob3VzZS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb247IENvc3QgbWFuYWdlbWVudDsgV29ya2xvYWQtc3BlY2lmaWMgc2l6aW5nXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IG5vZGUgdHlwZSBmb3IgY29tcHV0ZSBhbmQgc3RvcmFnZSBjYXBhY2l0eSBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgUmVkc2hpZnQgbm9kZSB0eXBlOyByZXF1aXJlZDsgZGV0ZXJtaW5lcyBjbHVzdGVyIGNvbXB1dGUgYW5kIHN0b3JhZ2UgY2FwYWNpdHlcbiAgICoqL1xuICByZWFkb25seSBub2RlVHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBudW1iZXIgb2Ygbm9kZXMgZm9yIHRoZSBSZWRzaGlmdCBjbHVzdGVyIGRldGVybWluaW5nIHRvdGFsIGNvbXB1dGUgY2FwYWNpdHkgYW5kIHBhcmFsbGVsIHByb2Nlc3NpbmcgY2FwYWJpbGl0eS4gQ29udHJvbHMgY2x1c3RlciBzaXplIGFuZCBhZmZlY3RzIHBlcmZvcm1hbmNlLCBjb3N0LCBhbmQgZGF0YSBkaXN0cmlidXRpb24gY2hhcmFjdGVyaXN0aWNzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENsdXN0ZXIgc2l6aW5nOyBQZXJmb3JtYW5jZSBzY2FsaW5nOyBDb3N0IG9wdGltaXphdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVyIG5vZGUgY291bnQgZm9yIGNvbXB1dGUgY2FwYWNpdHkgYW5kIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2VyOyByZXF1aXJlZDsgZGV0ZXJtaW5lcyBjbHVzdGVyIHNpemUgYW5kIHByb2Nlc3NpbmcgY2FwYWNpdHlcbiAgICoqL1xuICByZWFkb25seSBudW1iZXJPZk5vZGVzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIFJlcXVpcmVkIGZsYWcgZW5hYmxpbmcgYXVkaXQgbG9nZ2luZyB0byBTMyBmb3IgY29tcGxpYW5jZSBhbmQgc2VjdXJpdHkgbW9uaXRvcmluZy4gV2hlbiBlbmFibGVkLCBjcmVhdGVzIGRlZGljYXRlZCBTMyBidWNrZXQgZm9yIFJlZHNoaWZ0IGF1ZGl0IGxvZ3Mgd2l0aCBTU0UtUzMgZW5jcnlwdGlvbiBhcyByZXF1aXJlZCBieSBSZWRzaGlmdCBhdWRpdCBsb2dnaW5nIGNvbnN0cmFpbnRzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENvbXBsaWFuY2UgYXVkaXRpbmc7IFNlY3VyaXR5IG1vbml0b3Jpbmc7IEF1ZGl0IHRyYWlsIG1hbmFnZW1lbnRcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgYXVkaXQgbG9nZ2luZyB0byBTMyBmb3IgY29tcGxpYW5jZSBhbmQgc2VjdXJpdHkgbW9uaXRvcmluZ1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBCb29sZWFuIHZhbHVlOyByZXF1aXJlZDsgY3JlYXRlcyBTU0UtUzMgZW5jcnlwdGVkIGF1ZGl0IGJ1Y2tldCB3aGVuIGVuYWJsZWRcbiAgICoqL1xuICByZWFkb25seSBlbmFibGVBdWRpdExvZ2dpbmdUb1MzOiBib29sZWFuO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBjbHVzdGVyIHBvcnQgbnVtYmVyIGZvciBjbGllbnQgY29ubmVjdGlvbnMgZW5hYmxpbmcgY3VzdG9tIHBvcnQgY29uZmlndXJhdGlvbiBhbmQgbmV0d29yayBzZWN1cml0eS4gRGVmaW5lcyB0aGUgVENQIHBvcnQgb24gd2hpY2ggdGhlIFJlZHNoaWZ0IGNsdXN0ZXIgYWNjZXB0cyBjbGllbnQgY29ubmVjdGlvbnMsIHN1cHBvcnRpbmcgY3VzdG9tIG5ldHdvcmtpbmcgcmVxdWlyZW1lbnRzIGFuZCBzZWN1cml0eSBjb25maWd1cmF0aW9ucy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBDdXN0b20gcG9ydCBjb25maWd1cmF0aW9uOyBOZXR3b3JrIHNlY3VyaXR5OyBDbGllbnQgY29ubmVjdGlvbiBtYW5hZ2VtZW50OyBQb3J0IHN0YW5kYXJkaXphdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVyIHBvcnQgY29uZmlndXJhdGlvbiBmb3IgY2xpZW50IGNvbm5lY3Rpb24gbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIHBvcnQgbnVtYmVyIGlmIHNwZWNpZmllZDsgZGVmYXVsdHMgdG8gNTQzOTA7IG11c3QgYmUgYWNjZXNzaWJsZSB0aHJvdWdoIHNlY3VyaXR5IGdyb3Vwc1xuICAgKiovXG4gIHJlYWRvbmx5IGNsdXN0ZXJQb3J0PzogbnVtYmVyO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBmbGFnIGNvbnRyb2xsaW5nIGNsdXN0ZXIgbm9kZSBjb25maWd1cmF0aW9uIGZvciBzaW5nbGUtbm9kZSBvciBtdWx0aS1ub2RlIGRlcGxveW1lbnQuIFdoZW4gdHJ1ZSwgY3JlYXRlcyBtdWx0aS1ub2RlIGNsdXN0ZXIgZm9yIGRpc3RyaWJ1dGVkIHByb2Nlc3Npbmc7IHdoZW4gZmFsc2UsIGNyZWF0ZXMgc2luZ2xlLW5vZGUgY2x1c3RlciBmb3IgZGV2ZWxvcG1lbnQgb3Igc21hbGwgd29ya2xvYWRzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENsdXN0ZXIgYXJjaGl0ZWN0dXJlIHNlbGVjdGlvbjsgRGV2ZWxvcG1lbnQgdnMgcHJvZHVjdGlvbiBkZXBsb3ltZW50OyBDb3N0IG9wdGltaXphdGlvbjsgUGVyZm9ybWFuY2Ugc2NhbGluZ1xuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVyIHR5cGUgY29uZmlndXJhdGlvbiBmb3Igc2luZ2xlLW5vZGUgb3IgbXVsdGktbm9kZSBkZXBsb3ltZW50XG4gICAqXG4gICAqIFZhbGlkYXRpb246IEJvb2xlYW4gdmFsdWU7IGRldGVybWluZXMgY2x1c3RlciBhcmNoaXRlY3R1cmUgYW5kIG5vZGUgZGlzdHJpYnV0aW9uOyBhZmZlY3RzIHBlcmZvcm1hbmNlIGFuZCBjb3N0XG4gICAqKi9cbiAgcmVhZG9ubHkgbXVsdGlOb2RlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgcHJlZmVycmVkIG1haW50ZW5hbmNlIHdpbmRvdyBmb3IgYXV0b21hdGVkIGNsdXN0ZXIgbWFpbnRlbmFuY2Ugb3BlcmF0aW9ucy4gU3BlY2lmaWVzIHRoZSB3ZWVrbHkgdGltZSByYW5nZSBkdXJpbmcgd2hpY2ggc3lzdGVtIG1haW50ZW5hbmNlIGNhbiBvY2N1ciwgbWluaW1pemluZyBpbXBhY3Qgb24gYnVzaW5lc3Mgb3BlcmF0aW9ucyBhbmQgZW5zdXJpbmcgcHJlZGljdGFibGUgbWFpbnRlbmFuY2Ugc2NoZWR1bGluZy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBNYWludGVuYW5jZSBzY2hlZHVsaW5nOyBCdXNpbmVzcyBjb250aW51aXR5OyBPcGVyYXRpb25hbCBwbGFubmluZzsgRG93bnRpbWUgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBwcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93IGZvciBhdXRvbWF0ZWQgc3lzdGVtIG1haW50ZW5hbmNlXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgdGltZSB3aW5kb3cgZm9ybWF0IChlLmcuLCAnU3VuOjIzOjQ1LU1vbjowMDoxNScpOyByZXF1aXJlZDsgZGVmaW5lcyBtYWludGVuYW5jZSBzY2hlZHVsaW5nXG4gICAqKi9cbiAgcmVhZG9ubHkgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZztcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgcGFyYW1ldGVyIGdyb3VwIHBhcmFtZXRlcnMgZm9yIGNsdXN0ZXIgY29uZmlndXJhdGlvbiBjdXN0b21pemF0aW9uIGVuYWJsaW5nIHBlcmZvcm1hbmNlIHR1bmluZyBhbmQgb3BlcmF0aW9uYWwgb3B0aW1pemF0aW9uLiBQcm92aWRlcyBhZGRpdGlvbmFsIGNsdXN0ZXIgcGFyYW1ldGVycyB3aGlsZSBzZWN1cml0eS1zZW5zaXRpdmUgdmFsdWVzIGFyZSBhdXRvbWF0aWNhbGx5IG92ZXJyaWRkZW4gZm9yIGNvbXBsaWFuY2UgYW5kIHNlY3VyaXR5LlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IFBlcmZvcm1hbmNlIHR1bmluZzsgT3BlcmF0aW9uYWwgb3B0aW1pemF0aW9uOyBDdXN0b20gY2x1c3RlciBjb25maWd1cmF0aW9uOyBXb3JrbG9hZC1zcGVjaWZpYyBzZXR0aW5nc1xuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBwYXJhbWV0ZXIgZ3JvdXAgY29uZmlndXJhdGlvbiBmb3IgY2x1c3RlciBjdXN0b21pemF0aW9uIGFuZCBvcHRpbWl6YXRpb25cbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzIGlmIHByb3ZpZGVkOyBzZWN1cml0eS1zZW5zaXRpdmUgdmFsdWVzIHdpbGwgYmUgb3ZlcnJpZGRlblxuICAgKiAgICoqL1xuICByZWFkb25seSBwYXJhbWV0ZXJHcm91cFBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIHdvcmtsb2FkIG1hbmFnZW1lbnQgY29uZmlndXJhdGlvbiBmb3IgcXVlcnkgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIGFuZCByZXNvdXJjZSBhbGxvY2F0aW9uLiBEZWZpbmVzIFdMTSBjb25maWd1cmF0aW9uIGVsZW1lbnRzIGZvciBtYW5hZ2luZyBxdWVyeSBxdWV1ZXMsIG1lbW9yeSBhbGxvY2F0aW9uLCBhbmQgY29uY3VycmVuY3kgZm9yIG9wdGltYWwgY2x1c3RlciBwZXJmb3JtYW5jZS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBRdWVyeSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb247IFJlc291cmNlIGFsbG9jYXRpb247IFdvcmtsb2FkIG1hbmFnZW1lbnQ7IENvbmN1cnJlbmN5IGNvbnRyb2xcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgd29ya2xvYWQgbWFuYWdlbWVudCBjb25maWd1cmF0aW9uIGZvciBxdWVyeSBvcHRpbWl6YXRpb24gYW5kIHJlc291cmNlIGNvbnRyb2xcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBhcnJheSBvZiB2YWxpZCBDb25maWd1cmF0aW9uRWxlbWVudCBvYmplY3RzIGlmIHByb3ZpZGVkOyBkZWZpbmVzIFdMTSBjb25maWd1cmF0aW9uXG4gICAqKi9cbiAgcmVhZG9ubHkgd29ya2xvYWRNYW5hZ2VtZW50PzogQ29uZmlndXJhdGlvbkVsZW1lbnRbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgYWRkaXRpb25hbCBLTVMga2V5IEFSTnMgZm9yIGNsdXN0ZXIgYnVja2V0IGVuY3J5cHRpb24gZW5hYmxpbmcgbXVsdGkta2V5IGVuY3J5cHRpb24gc2NlbmFyaW9zIGFuZCBjcm9zcy1hY2NvdW50IGFjY2Vzcy4gUHJvdmlkZXMgYWRkaXRpb25hbCBLTVMga2V5cyB0aGF0IGNhbiBiZSB1c2VkIGZvciB3cml0aW5nIHRvIHRoZSBjbHVzdGVyIGJ1Y2tldCBiZXlvbmQgdGhlIGRlZmF1bHQgY2x1c3RlciBlbmNyeXB0aW9uIGtleS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBNdWx0aS1rZXkgZW5jcnlwdGlvbjsgQ3Jvc3MtYWNjb3VudCBhY2Nlc3M7IEFkZGl0aW9uYWwgZW5jcnlwdGlvbiBrZXlzOyBGbGV4aWJsZSBrZXkgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFXUyBLTVMga2V5IEFSTnMgZm9yIGFkZGl0aW9uYWwgY2x1c3RlciBidWNrZXQgZW5jcnlwdGlvbiBhbmQgYWNjZXNzIGNvbnRyb2xcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBhcnJheSBvZiB2YWxpZCBLTVMga2V5IEFSTnMgaWYgcHJvdmlkZWQ7IGtleXMgbXVzdCBiZSBhY2Nlc3NpYmxlIGZvciBidWNrZXQgb3BlcmF0aW9uc1xuICAgKiovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxCdWNrZXRLbXNLZXlBcm5zPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIHNjaGVkdWxlZCBhY3Rpb25zIGZvciBhdXRvbWF0ZWQgY2x1c3RlciBwYXVzZSBhbmQgcmVzdW1lIG9wZXJhdGlvbnMgZW5hYmxpbmcgY29zdCBvcHRpbWl6YXRpb24gYW5kIG9wZXJhdGlvbmFsIGF1dG9tYXRpb24uIERlZmluZXMgc2NoZWR1bGVkIHBhdXNlIGFuZCByZXN1bWUgYWN0aW9ucyBmb3IgdGhlIGNsdXN0ZXIgdG8gb3B0aW1pemUgY29zdHMgZHVyaW5nIG5vbi1idXNpbmVzcyBob3Vycy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBDb3N0IG9wdGltaXphdGlvbjsgQXV0b21hdGVkIG9wZXJhdGlvbnM7IFNjaGVkdWxlZCBtYWludGVuYW5jZTsgUmVzb3VyY2UgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBzY2hlZHVsZWQgYWN0aW9ucyBmb3IgYXV0b21hdGVkIGNsdXN0ZXIgcGF1c2UgYW5kIHJlc3VtZSBvcGVyYXRpb25zXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgYXJyYXkgb2YgdmFsaWQgU2NoZWR1bGVkQWN0aW9uUHJvcHMgaWYgcHJvdmlkZWQ7IGRlZmluZXMgYXV0b21hdGVkIGNsdXN0ZXIgb3BlcmF0aW9uc1xuICAgKiovXG4gIHJlYWRvbmx5IHNjaGVkdWxlZEFjdGlvbnM/OiBTY2hlZHVsZWRBY3Rpb25Qcm9wc1tdO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSB1c2VycyBmb3IgYXV0b21hdGVkIHVzZXIgY3JlYXRpb24gYW5kIGNyZWRlbnRpYWwgbWFuYWdlbWVudCBlbmFibGluZyBzZWN1cmUgdXNlciBwcm92aXNpb25pbmcgYW5kIHJvdGF0aW9uLiBDcmVhdGVzIGRhdGFiYXNlIHVzZXJzIGluIFJlZHNoaWZ0IHdpdGggYXV0b21hdGVkIGNyZWRlbnRpYWwgc3RvcmFnZSBhbmQgcm90YXRpb24gdGhyb3VnaCBTZWNyZXRzIE1hbmFnZXIgYW5kIFNTTS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBBdXRvbWF0ZWQgdXNlciBwcm92aXNpb25pbmc7IENyZWRlbnRpYWwgbWFuYWdlbWVudDsgU2VjdXJpdHkgYXV0b21hdGlvbjsgVXNlciBsaWZlY3ljbGUgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBkYXRhYmFzZSB1c2VycyB3aXRoIFNlY3JldHMgTWFuYWdlciBhbmQgU1NNIGludGVncmF0aW9uIGZvciBjcmVkZW50aWFsIG1hbmFnZW1lbnRcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBhcnJheSBvZiB2YWxpZCBEYXRhYmFzZVVzZXJzUHJvcHMgaWYgcHJvdmlkZWQ7IGVuYWJsZXMgYXV0b21hdGVkIHVzZXIgYW5kIGNyZWRlbnRpYWwgbWFuYWdlbWVudFxuICAgKiAgICoqL1xuICByZWFkb25seSBkYXRhYmFzZVVzZXJzPzogRGF0YWJhc2VVc2Vyc1Byb3BzW107XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGZsYWcgY29udHJvbGxpbmcgZGF0YSB3YXJlaG91c2UgYnVja2V0IGNyZWF0aW9uIGZvciBjbHVzdGVyIHN0b3JhZ2Ugb3BlcmF0aW9ucy4gV2hlbiBlbmFibGVkIChkZWZhdWx0KSwgY3JlYXRlcyBkZWRpY2F0ZWQgUzMgYnVja2V0IGZvciBkYXRhIHdhcmVob3VzZSBvcGVyYXRpb25zIGluY2x1ZGluZyBkYXRhIGxvYWRpbmcsIHVubG9hZGluZywgYW5kIGJhY2t1cCBzdG9yYWdlLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IFN0b3JhZ2UgcmVzb3VyY2UgbWFuYWdlbWVudDsgRGF0YSBvcGVyYXRpb25zOyBCYWNrdXAgc3RvcmFnZTsgRVRMIG9wZXJhdGlvbnNcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUzMgYnVja2V0IGNyZWF0aW9uIGZvciBSZWRzaGlmdCBkYXRhIHdhcmVob3VzZSBzdG9yYWdlIG9wZXJhdGlvbnNcbiAgICpcbiAgICogVmFsaWRhdGlvbjogQm9vbGVhbiB2YWx1ZTsgZGVmYXVsdHMgdG8gdHJ1ZTsgY3JlYXRlcyBkZWRpY2F0ZWQgd2FyZWhvdXNlIGJ1Y2tldCB3aGVuIGVuYWJsZWRcbiAgICoqL1xuICByZWFkb25seSBjcmVhdGVXYXJlaG91c2VCdWNrZXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCByZXRlbnRpb24gcGVyaW9kIGZvciBhdXRvbWF0ZWQgc25hcHNob3RzIGVuYWJsaW5nIGJhY2t1cCBtYW5hZ2VtZW50IGFuZCBkYXRhIHByb3RlY3Rpb24uIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGRheXMgYXV0b21hdGVkIHNuYXBzaG90cyBhcmUgcmV0YWluZWQgZm9yIHBvaW50LWluLXRpbWUgcmVjb3ZlcnkgYW5kIGRhdGEgcHJvdGVjdGlvbiByZXF1aXJlbWVudHMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogQmFja3VwIG1hbmFnZW1lbnQ7IERhdGEgcHJvdGVjdGlvbjsgUG9pbnQtaW4tdGltZSByZWNvdmVyeTsgQ29tcGxpYW5jZSByZXF1aXJlbWVudHNcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgYXV0b21hdGVkIHNuYXBzaG90IHJldGVudGlvbiBmb3IgYmFja3VwIG1hbmFnZW1lbnQgYW5kIGRhdGEgcHJvdGVjdGlvblxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHBvc2l0aXZlIGludGVnZXIgaWYgc3BlY2lmaWVkOyBkZWZpbmVzIHNuYXBzaG90IHJldGVudGlvbiBwZXJpb2QgZm9yIGJhY2t1cCBtYW5hZ2VtZW50XG4gICAqKi9cbiAgcmVhZG9ubHkgYXV0b21hdGVkU25hcHNob3RSZXRlbnRpb25EYXlzPzogbnVtYmVyO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBldmVudCBub3RpZmljYXRpb24gY29uZmlndXJhdGlvbiBmb3IgY2x1c3RlciBhbmQgc2NoZWR1bGVkIGFjdGlvbiBtb25pdG9yaW5nIGVuYWJsaW5nIG9wZXJhdGlvbmFsIGF3YXJlbmVzcyBhbmQgYWxlcnRpbmcuIENvbmZpZ3VyZXMgU05TIG5vdGlmaWNhdGlvbnMgZm9yIGNsdXN0ZXIgZXZlbnRzIGFuZCBzY2hlZHVsZWQgYWN0aW9uIHN0YXR1cyBmb3Igb3BlcmF0aW9uYWwgbW9uaXRvcmluZy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBPcGVyYXRpb25hbCBtb25pdG9yaW5nOyBFdmVudCBhbGVydGluZzsgQ2x1c3RlciBzdGF0dXMgdHJhY2tpbmc7IEF1dG9tYXRlZCBub3RpZmljYXRpb25zXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFNOUyBub3RpZmljYXRpb25zIGZvciBSZWRzaGlmdCBjbHVzdGVyIGV2ZW50cyBhbmQgb3BlcmF0aW9uYWwgbW9uaXRvcmluZ1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIEV2ZW50Tm90aWZpY2F0aW9uc1Byb3BzIGlmIHByb3ZpZGVkOyBlbmFibGVzIGNsdXN0ZXIgZXZlbnQgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmdcbiAgICoqL1xuICByZWFkb25seSBldmVudE5vdGlmaWNhdGlvbnM/OiBFdmVudE5vdGlmaWNhdGlvbnNQcm9wcztcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgZGF0YWJhc2UgbmFtZSBmb3IgaW5pdGlhbCBkYXRhYmFzZSBjcmVhdGlvbiBlbmFibGluZyBjdXN0b20gZGF0YWJhc2UgbmFtaW5nIGFuZCBvcmdhbml6YXRpb24uIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgaW5pdGlhbCBkYXRhYmFzZSBjcmVhdGVkIGluIHRoZSBjbHVzdGVyLCBzdXBwb3J0aW5nIGN1c3RvbSBuYW1pbmcgY29udmVudGlvbnMgYW5kIGRhdGFiYXNlIG9yZ2FuaXphdGlvbi5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBDdXN0b20gZGF0YWJhc2UgbmFtaW5nOyBEYXRhYmFzZSBvcmdhbml6YXRpb247IEluaXRpYWwgZGF0YWJhc2Ugc2V0dXA7IE5hbWluZyBjb252ZW50aW9uc1xuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBpbml0aWFsIGRhdGFiYXNlIG5hbWUgZm9yIGNsdXN0ZXIgZGF0YWJhc2UgY3JlYXRpb24gYW5kIG9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIGRhdGFiYXNlIG5hbWUgaWYgc3BlY2lmaWVkOyBkZWZhdWx0cyB0byBcImRlZmF1bHRfZGJcIjsgdXNlZCBmb3IgaW5pdGlhbCBkYXRhYmFzZSBjcmVhdGlvblxuICAgKiovXG4gIHJlYWRvbmx5IGRiTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgc25hcHNob3QgaWRlbnRpZmllciBmb3IgY2x1c3RlciByZXN0b3JhdGlvbiBmcm9tIGV4aXN0aW5nIHNuYXBzaG90IGVuYWJsaW5nIGRpc2FzdGVyIHJlY292ZXJ5IGFuZCBkYXRhIG1pZ3JhdGlvbi4gU3BlY2lmaWVzIHRoZSBzbmFwc2hvdCBJRCB0byByZXN0b3JlIHRoZSBjbHVzdGVyIGZyb20sIHN1cHBvcnRpbmcgZGlzYXN0ZXIgcmVjb3Zlcnkgc2NlbmFyaW9zIGFuZCBkYXRhIG1pZ3JhdGlvbiBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IERpc2FzdGVyIHJlY292ZXJ5OyBEYXRhIG1pZ3JhdGlvbjsgQ2x1c3RlciByZXN0b3JhdGlvbjsgQmFja3VwIHJlY292ZXJ5XG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IHNuYXBzaG90IGlkZW50aWZpZXIgZm9yIGNsdXN0ZXIgcmVzdG9yYXRpb24gYW5kIGRpc2FzdGVyIHJlY292ZXJ5XG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgc25hcHNob3QgaWRlbnRpZmllciBpZiBzcGVjaWZpZWQ7IG9ubHkgcHJvdmlkZSB3aGVuIHJlc3RvcmluZyBmcm9tIHNuYXBzaG90XG4gICAqKi9cbiAgcmVhZG9ubHkgc25hcHNob3RJZGVudGlmaWVyPzogc3RyaW5nO1xuICAvKipcbiAgICogb3duZXJBY2NvdW50IFJlZmVycyB0byBzbmFwc2hvdCBvd25lciBhY2NvdW50LiBBcHBsaWNhYmxlIGlmIHJlc3RvcmluZyB0aGUgY2x1c3RlciBmcm9tIHNuYXBzaG90IGFuZCBzbmFwc2hvdCBiZWxvbmdzIHRvIGFub3RoZXIgYWNjb3VudFxuICAgKiBPcHRpb25hbCAtIEJ5IGRlZmF1bHQsIHNuYXBzaG90cyBhcmUgc2VhcmNoZWQgd2l0aGluIGN1cnJlbnQgYWNjb3VudFxuICAgKi9cbiAgcmVhZG9ubHkgc25hcHNob3RPd25lckFjY291bnQ/OiBudW1iZXI7XG5cbiAgcmVhZG9ubHkgcmVkc2hpZnRNYW5hZ2VNYXN0ZXJQYXNzd29yZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhV2FyZWhvdXNlQ29uZmlnUGFyc2VyIGV4dGVuZHMgTWRhYUFwcENvbmZpZ1BhcnNlcjxEYXRhV2FyZWhvdXNlQ29uZmlnQ29udGVudHM+IHtcbiAgcHVibGljIHJlYWRvbmx5IGFkbWluVXNlcm5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFkbWluUGFzc3dvcmRSb3RhdGlvbkRheXM6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGZlZGVyYXRpb25zOiBGZWRlcmF0aW9uUHJvcHNbXTtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlVXNlcnM6IERhdGFiYXNlVXNlcnNQcm9wc1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUFkbWluUm9sZVJlZnM6IE1kYWFSb2xlUmVmW107XG4gIHB1YmxpYyByZWFkb25seSB3YXJlaG91c2VCdWNrZXRVc2VyUm9sZVJlZnM/OiBNZGFhUm9sZVJlZltdO1xuICBwdWJsaWMgcmVhZG9ubHkgZXhlY3V0aW9uUm9sZVJlZnM/OiBNZGFhUm9sZVJlZltdO1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXJQb3J0OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBzdWJuZXRJZHM6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUF1ZGl0TG9nZ2luZ1RvUzM6IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBudW1iZXJPZk5vZGVzOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBtdWx0aU5vZGU/OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJbmdyZXNzOiB7IGlwdjQ/OiBzdHJpbmdbXTsgc2c/OiBzdHJpbmdbXSB9O1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyR3JvdXBQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHB1YmxpYyByZWFkb25seSB3b3JrbG9hZE1hbmFnZW1lbnQ6IENvbmZpZ3VyYXRpb25FbGVtZW50W107XG4gIHB1YmxpYyByZWFkb25seSBhZGRpdGlvbmFsQnVja2V0S21zS2V5QXJucz86IHN0cmluZ1tdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRDbHVzdGVyUG9ydCA9IDU0MzkwO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NoZWR1bGVkQWN0aW9uczogU2NoZWR1bGVkQWN0aW9uUHJvcHNbXTtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZVdhcmVob3VzZUJ1Y2tldD86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBhdXRvbWF0ZWRTbmFwc2hvdFJldGVudGlvbkRheXM/OiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBldmVudE5vdGlmaWNhdGlvbnM/OiBFdmVudE5vdGlmaWNhdGlvbnNQcm9wcztcbiAgcHVibGljIHJlYWRvbmx5IGRiTmFtZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNuYXBzaG90SWRlbnRpZmllcj86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNuYXBzaG90T3duZXJBY2NvdW50PzogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVkc2hpZnRNYW5hZ2VNYXN0ZXJQYXNzd29yZD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc3RhY2s6IFN0YWNrLCBwcm9wczogTWRhYUFwcENvbmZpZ1BhcnNlclByb3BzKSB7XG4gICAgc3VwZXIoc3RhY2ssIHByb3BzLCBjb25maWdTY2hlbWEgYXMgU2NoZW1hKTtcblxuICAgIHRoaXMuYWRtaW5Vc2VybmFtZSA9IHRoaXMuY29uZmlnQ29udGVudHMuYWRtaW5Vc2VybmFtZTtcbiAgICB0aGlzLmFkbWluUGFzc3dvcmRSb3RhdGlvbkRheXMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmFkbWluUGFzc3dvcmRSb3RhdGlvbkRheXM7XG4gICAgdGhpcy5mZWRlcmF0aW9ucyA9IHRoaXMuY29uZmlnQ29udGVudHMuZmVkZXJhdGlvbnMgPyB0aGlzLmNvbmZpZ0NvbnRlbnRzLmZlZGVyYXRpb25zIDogW107XG4gICAgdGhpcy5kYXRhQWRtaW5Sb2xlUmVmcyA9IHRoaXMuY29uZmlnQ29udGVudHMuZGF0YUFkbWluUm9sZXM7XG4gICAgdGhpcy53YXJlaG91c2VCdWNrZXRVc2VyUm9sZVJlZnMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLndhcmVob3VzZUJ1Y2tldFVzZXJSb2xlcztcbiAgICB0aGlzLmV4ZWN1dGlvblJvbGVSZWZzID0gdGhpcy5jb25maWdDb250ZW50cy5leGVjdXRpb25Sb2xlcztcbiAgICB0aGlzLnZwY0lkID0gdGhpcy5jb25maWdDb250ZW50cy52cGNJZDtcbiAgICB0aGlzLnN1Ym5ldElkcyA9IHRoaXMuY29uZmlnQ29udGVudHMuc3VibmV0SWRzO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cEluZ3Jlc3MgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnNlY3VyaXR5R3JvdXBJbmdyZXNzO1xuICAgIHRoaXMubm9kZVR5cGUgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLm5vZGVUeXBlO1xuICAgIHRoaXMubnVtYmVyT2ZOb2RlcyA9IHRoaXMuY29uZmlnQ29udGVudHMubnVtYmVyT2ZOb2RlcztcbiAgICB0aGlzLmVuYWJsZUF1ZGl0TG9nZ2luZ1RvUzMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmVuYWJsZUF1ZGl0TG9nZ2luZ1RvUzM7XG4gICAgdGhpcy5jbHVzdGVyUG9ydCA9IHRoaXMuY29uZmlnQ29udGVudHMuY2x1c3RlclBvcnRcbiAgICAgID8gdGhpcy5jb25maWdDb250ZW50cy5jbHVzdGVyUG9ydFxuICAgICAgOiBEYXRhV2FyZWhvdXNlQ29uZmlnUGFyc2VyLmRlZmF1bHRDbHVzdGVyUG9ydDtcbiAgICB0aGlzLm11bHRpTm9kZSA9IHRoaXMuY29uZmlnQ29udGVudHMubXVsdGlOb2RlO1xuICAgIHRoaXMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93O1xuICAgIHRoaXMucGFyYW1ldGVyR3JvdXBQYXJhbXMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnBhcmFtZXRlckdyb3VwUGFyYW1zXG4gICAgICA/IHRoaXMuY29uZmlnQ29udGVudHMucGFyYW1ldGVyR3JvdXBQYXJhbXNcbiAgICAgIDoge307XG4gICAgdGhpcy53b3JrbG9hZE1hbmFnZW1lbnQgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLndvcmtsb2FkTWFuYWdlbWVudCA/IHRoaXMuY29uZmlnQ29udGVudHMud29ya2xvYWRNYW5hZ2VtZW50IDogW107XG4gICAgdGhpcy5hZGRpdGlvbmFsQnVja2V0S21zS2V5QXJucyA9IHRoaXMuY29uZmlnQ29udGVudHMuYWRkaXRpb25hbEJ1Y2tldEttc0tleUFybnM7XG4gICAgdGhpcy5zY2hlZHVsZWRBY3Rpb25zID0gdGhpcy5jb25maWdDb250ZW50cy5zY2hlZHVsZWRBY3Rpb25zID8gdGhpcy5jb25maWdDb250ZW50cy5zY2hlZHVsZWRBY3Rpb25zIDogW107XG4gICAgdGhpcy5kYXRhYmFzZVVzZXJzID0gdGhpcy5jb25maWdDb250ZW50cy5kYXRhYmFzZVVzZXJzID8gdGhpcy5jb25maWdDb250ZW50cy5kYXRhYmFzZVVzZXJzIDogW107XG4gICAgdGhpcy5jcmVhdGVXYXJlaG91c2VCdWNrZXQgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmNyZWF0ZVdhcmVob3VzZUJ1Y2tldDtcbiAgICB0aGlzLmF1dG9tYXRlZFNuYXBzaG90UmV0ZW50aW9uRGF5cyA9IHRoaXMuY29uZmlnQ29udGVudHMuYXV0b21hdGVkU25hcHNob3RSZXRlbnRpb25EYXlzO1xuICAgIHRoaXMuZXZlbnROb3RpZmljYXRpb25zID0gdGhpcy5jb25maWdDb250ZW50cy5ldmVudE5vdGlmaWNhdGlvbnM7XG4gICAgdGhpcy5kYk5hbWUgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmRiTmFtZTtcbiAgICB0aGlzLnNuYXBzaG90SWRlbnRpZmllciA9IHRoaXMuY29uZmlnQ29udGVudHMuc25hcHNob3RJZGVudGlmaWVyO1xuICAgIHRoaXMuc25hcHNob3RPd25lckFjY291bnQgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnNuYXBzaG90T3duZXJBY2NvdW50O1xuICAgIHRoaXMucmVkc2hpZnRNYW5hZ2VNYXN0ZXJQYXNzd29yZCA9IHRoaXMuY29uZmlnQ29udGVudHMucmVkc2hpZnRNYW5hZ2VNYXN0ZXJQYXNzd29yZDtcbiAgfVxufVxuIl19
47
+ DataWarehouseConfigParser.defaultClusterPort = 5440;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXdhcmVob3VzZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhd2FyZWhvdXNlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCx1Q0FBc0c7QUFVdEcscURBQXFEO0FBZ1NyRCxNQUFhLHlCQUEwQixTQUFRLHlCQUFnRDtJQThCN0YsWUFBWSxLQUFZLEVBQUUsS0FBK0I7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBc0IsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUM7UUFDL0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFDNUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7UUFDaEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUM7UUFDekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVc7WUFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVztZQUNqQyxDQUFDLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQywwQkFBMEIsQ0FBQztRQUNqRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0I7WUFDbEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CO1lBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9HLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztRQUN2RSxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyw4QkFBOEIsQ0FBQztRQUN6RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDO1FBQ3JFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixDQUFDO0lBQ3ZGLENBQUM7O0FBaEVILDhEQWlFQztBQTdDd0IsNENBQWtCLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgTWRhYUFwcENvbmZpZ1BhcnNlciwgTWRhYUFwcENvbmZpZ1BhcnNlclByb3BzLCBNZGFhQmFzZUNvbmZpZ0NvbnRlbnRzIH0gZnJvbSAnQGF3cy1tZGFhL2FwcCc7XG5pbXBvcnQge1xuICBGZWRlcmF0aW9uUHJvcHMsXG4gIFNjaGVkdWxlZEFjdGlvblByb3BzLFxuICBEYXRhYmFzZVVzZXJzUHJvcHMsXG4gIEV2ZW50Tm90aWZpY2F0aW9uc1Byb3BzLFxufSBmcm9tICdAYXdzLW1kYWEvZGF0YXdhcmVob3VzZS1sMy1jb25zdHJ1Y3QnO1xuaW1wb3J0IHsgTWRhYVJvbGVSZWYgfSBmcm9tICdAYXdzLW1kYWEvaWFtLXJvbGUtaGVscGVyJztcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ2Fqdic7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvbmZpZ1NjaGVtYSBmcm9tICcuL2NvbmZpZy1zY2hlbWEuanNvbic7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRWxlbWVudCB9IGZyb20gJ0Bhd3MtbWRhYS9jb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFXYXJlaG91c2VDb25maWdDb250ZW50cyBleHRlbmRzIE1kYWFCYXNlQ29uZmlnQ29udGVudHMge1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBhZG1pbiB1c2VybmFtZSBmb3IgdGhlIFJlZHNoaWZ0IGNsdXN0ZXIgcHJvdmlkaW5nIGFkbWluaXN0cmF0aXZlIGFjY2VzcyB0byB0aGUgZGF0YSB3YXJlaG91c2UuIERlZmluZXMgdGhlIG1hc3RlciB1c2VyIGFjY291bnQgZm9yIGNsdXN0ZXIgYWRtaW5pc3RyYXRpb24sIGRhdGFiYXNlIG1hbmFnZW1lbnQsIGFuZCBpbml0aWFsIHVzZXIgcHJvdmlzaW9uaW5nLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENsdXN0ZXIgYWRtaW5pc3RyYXRpb247IERhdGFiYXNlIG1hbmFnZW1lbnQ7IEluaXRpYWwgdXNlciBwcm92aXNpb25pbmdcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgY2x1c3RlciBtYXN0ZXIgdXNlcm5hbWUgZm9yIGFkbWluaXN0cmF0aXZlIGFjY2VzcyBhbmQgZGF0YWJhc2UgbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIFJlZHNoaWZ0IHVzZXJuYW1lOyByZXF1aXJlZDsgdXNlZCBmb3IgY2x1c3RlciBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3NcbiAgICoqL1xuICByZWFkb25seSBhZG1pblVzZXJuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIFJlcXVpcmVkIG51bWJlciBvZiBkYXlzIGJldHdlZW4gYXV0b21hdGljIGFkbWluIHBhc3N3b3JkIHJvdGF0aW9ucyBmb3IgZW5oYW5jZWQgc2VjdXJpdHkgY29tcGxpYW5jZS4gRW5hYmxlcyBhdXRvbWF0ZWQgY3JlZGVudGlhbCBtYW5hZ2VtZW50IGFuZCBjb21wbGlhbmNlIHdpdGggcGFzc3dvcmQgcm90YXRpb24gcG9saWNpZXMgZm9yIGltcHJvdmVkIGNsdXN0ZXIgc2VjdXJpdHkgcG9zdHVyZS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBBdXRvbWF0ZWQgY3JlZGVudGlhbCByb3RhdGlvbjsgU2VjdXJpdHkgcG9saWN5IGNvbXBsaWFuY2U7IFBhc3N3b3JkIG1hbmFnZW1lbnQgYXV0b21hdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBhdXRvbWF0aWMgcGFzc3dvcmQgcm90YXRpb24gY29uZmlndXJhdGlvbiBmb3Igc2VjdXJpdHkgbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHBvc2l0aXZlIGludGVnZXI7IHJlcXVpcmVkOyBkZWZpbmVzIHBhc3N3b3JkIHJvdGF0aW9uIGZyZXF1ZW5jeSBmb3Igc2VjdXJpdHkgY29tcGxpYW5jZVxuICAgKiovXG4gIHJlYWRvbmx5IGFkbWluUGFzc3dvcmRSb3RhdGlvbkRheXM6IG51bWJlcjtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgYXJyYXkgb2YgZmVkZXJhdGlvbiBjb25maWd1cmF0aW9ucyBmb3IgU0FNTCBvciBPSURDIGlkZW50aXR5IHByb3ZpZGVyIGludGVncmF0aW9uIHdpdGggdGhlIGRhdGEgd2FyZWhvdXNlLiBFbmFibGVzIGZlZGVyYXRlZCBhY2Nlc3MgdG8gUmVkc2hpZnQgdGhyb3VnaCBleHRlcm5hbCBpZGVudGl0eSBwcm92aWRlcnMgZm9yIGNlbnRyYWxpemVkIGlkZW50aXR5IG1hbmFnZW1lbnQgYW5kIFNTTyBjYXBhYmlsaXRpZXMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogU0FNTCBmZWRlcmF0aW9uIHNldHVwOyBPSURDIHByb3ZpZGVyIGludGVncmF0aW9uOyBDZW50cmFsaXplZCBpZGVudGl0eSBtYW5hZ2VtZW50IGZvciBkYXRhIHdhcmVob3VzZSBhY2Nlc3NcbiAgICpcbiAgICogQVdTOiBBV1MgSUFNIGlkZW50aXR5IHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gZm9yIGZlZGVyYXRlZCBSZWRzaGlmdCBhY2Nlc3MgYW5kIFNTTyBpbnRlZ3JhdGlvblxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIEZlZGVyYXRpb25Qcm9wcyBpZiBwcm92aWRlZDsgZW5hYmxlcyBmZWRlcmF0ZWQgYXV0aGVudGljYXRpb24gd2hlbiBzcGVjaWZpZWRcbiAgICoqL1xuICByZWFkb25seSBmZWRlcmF0aW9ucz86IEZlZGVyYXRpb25Qcm9wc1tdO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBhcnJheSBvZiBhZG1pbiByb2xlIHJlZmVyZW5jZXMgd2l0aCBmdWxsIGFjY2VzcyB0byBjbHVzdGVyIHJlc291cmNlcyBpbmNsdWRpbmcgS01TIGtleXMgYW5kIFMzIGJ1Y2tldHMuIFByb3ZpZGVzIGFkbWluaXN0cmF0aXZlIHBlcm1pc3Npb25zIGZvciBkYXRhIHdhcmVob3VzZSBtYW5hZ2VtZW50LCBzZWN1cml0eSBhZG1pbmlzdHJhdGlvbiwgYW5kIHJlc291cmNlIGFjY2VzcyBjb250cm9sLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IEFkbWluaXN0cmF0aXZlIGFjY2VzcyBjb250cm9sOyBTZWN1cml0eSBtYW5hZ2VtZW50OyBSZXNvdXJjZSBhZG1pbmlzdHJhdGlvblxuICAgKlxuICAgKiBBV1M6IEFXUyBJQU0gcm9sZXMgd2l0aCBmdWxsIFJlZHNoaWZ0IGNsdXN0ZXIgYW5kIHJlc291cmNlIGFjY2VzcyBwZXJtaXNzaW9uc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIE1kYWFSb2xlUmVmIG9iamVjdHM7IHJlcXVpcmVkOyByb2xlcyByZWNlaXZlIGZ1bGwgY2x1c3RlciBhY2Nlc3NcbiAgICoqL1xuICByZWFkb25seSBkYXRhQWRtaW5Sb2xlczogTWRhYVJvbGVSZWZbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgYXJyYXkgb2YgdXNlciByb2xlIHJlZmVyZW5jZXMgd2l0aCBhY2Nlc3MgdG8gZGF0YSB3YXJlaG91c2UgUzMgYnVja2V0cyBmb3IgZGF0YSBsb2FkaW5nIGFuZCB1bmxvYWRpbmcgb3BlcmF0aW9ucy4gRW5hYmxlcyBjb250cm9sbGVkIGFjY2VzcyB0byB3YXJlaG91c2Ugc3RvcmFnZSByZXNvdXJjZXMgZm9yIEVUTCBvcGVyYXRpb25zIGFuZCBkYXRhIG1hbmFnZW1lbnQgd29ya2Zsb3dzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IERhdGEgbG9hZGluZyBvcGVyYXRpb25zOyBFVEwgd29ya2Zsb3cgYWNjZXNzOyBDb250cm9sbGVkIHN0b3JhZ2UgYWNjZXNzXG4gICAqXG4gICAqIEFXUzogQVdTIElBTSByb2xlcyB3aXRoIFMzIGJ1Y2tldCBhY2Nlc3MgZm9yIFJlZHNoaWZ0IGRhdGEgb3BlcmF0aW9uc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIE1kYWFSb2xlUmVmIG9iamVjdHMgaWYgcHJvdmlkZWQ7IHJvbGVzIHJlY2VpdmUgYnVja2V0IGFjY2VzcyBwZXJtaXNzaW9uc1xuICAgKiovXG4gIHJlYWRvbmx5IHdhcmVob3VzZUJ1Y2tldFVzZXJSb2xlcz86IE1kYWFSb2xlUmVmW107XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGFycmF5IG9mIGV4dGVybmFsIGV4ZWN1dGlvbiByb2xlIHJlZmVyZW5jZXMgZm9yIFJlZHNoaWZ0IGNsdXN0ZXIgb3BlcmF0aW9ucyBhbmQgaW50ZWdyYXRpb25zLiBFbmFibGVzIGNsdXN0ZXIgdG8gYXNzdW1lIGV4dGVybmFsIHJvbGVzIGZvciBjcm9zcy1zZXJ2aWNlIG9wZXJhdGlvbnMsIGRhdGEgYWNjZXNzLCBhbmQgaW50ZWdyYXRpb24gd2l0aCBvdGhlciBBV1Mgc2VydmljZXMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogQ3Jvc3Mtc2VydmljZSBvcGVyYXRpb25zOyBFeHRlcm5hbCBkYXRhIGFjY2VzczsgU2VydmljZSBpbnRlZ3JhdGlvbiB3b3JrZmxvd3NcbiAgICpcbiAgICogQVdTOiBBV1MgSUFNIHJvbGVzIGZvciBSZWRzaGlmdCBjbHVzdGVyIGNyb3NzLXNlcnZpY2Ugb3BlcmF0aW9ucyBhbmQgaW50ZWdyYXRpb25zXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgYXJyYXkgb2YgdmFsaWQgTWRhYVJvbGVSZWYgb2JqZWN0cyBpZiBwcm92aWRlZDsgcm9sZXMgbXVzdCBiZSBhc3N1bWFibGUgYnkgUmVkc2hpZnQgc2VydmljZVxuICAgKiovXG4gIHJlYWRvbmx5IGV4ZWN1dGlvblJvbGVzPzogTWRhYVJvbGVSZWZbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgVlBDIElEIGZvciBSZWRzaGlmdCBjbHVzdGVyIGRlcGxveW1lbnQgcHJvdmlkaW5nIG5ldHdvcmsgaXNvbGF0aW9uIGFuZCBzZWN1cml0eSBjb250cm9scy4gRW5zdXJlcyBjbHVzdGVyIG9wZXJhdGVzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIFZQQyBmb3Igc2VjdXJlIG5ldHdvcmtpbmcgYW5kIGludGVncmF0aW9uIHdpdGggb3RoZXIgVlBDIHJlc291cmNlcy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBWUEMgbmV0d29yayBpc29sYXRpb247IFNlY3VyZSBuZXR3b3JraW5nOyBWUEMgcmVzb3VyY2UgaW50ZWdyYXRpb25cbiAgICpcbiAgICogQVdTOiBBbWF6b24gVlBDIGZvciBSZWRzaGlmdCBjbHVzdGVyIG5ldHdvcmsgaXNvbGF0aW9uIGFuZCBzZWN1cml0eSBjb250cm9sc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIFZQQyBJRDsgcmVxdWlyZWQ7IFZQQyBtdXN0IGV4aXN0IGFuZCBiZSBhY2Nlc3NpYmxlXG4gICAqKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgYXJyYXkgb2Ygc3VibmV0IElEcyBmb3IgUmVkc2hpZnQgY2x1c3RlciBub2RlIHBsYWNlbWVudCB3aXRoaW4gdGhlIFZQQy4gRGVmaW5lcyB0aGUgbmV0d29yayBzdWJuZXRzIHdoZXJlIGNsdXN0ZXIgbm9kZXMgd2lsbCBiZSBkZXBsb3llZCBmb3Igc2VjdXJlIFZQQyBjb25uZWN0aXZpdHkgYW5kIGF2YWlsYWJpbGl0eSB6b25lIGRpc3RyaWJ1dGlvbi5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBWUEMgbmV0d29yayBwbGFjZW1lbnQ7IFN1Ym5ldC1zcGVjaWZpYyBkZXBsb3ltZW50OyBNdWx0aS1BWiBjbHVzdGVyIGRpc3RyaWJ1dGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBWUEMgc3VibmV0cyBmb3IgUmVkc2hpZnQgY2x1c3RlciBub2RlIHBsYWNlbWVudCBhbmQgbmV0d29yayBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgYXJyYXkgb2YgdmFsaWQgc3VibmV0IElEczsgcmVxdWlyZWQ7IHN1Ym5ldHMgbXVzdCBleGlzdCBpbiBzcGVjaWZpZWQgVlBDXG4gICAqKi9cbiAgcmVhZG9ubHkgc3VibmV0SWRzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogUmVxdWlyZWQgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBjb25maWd1cmF0aW9uIGRlZmluaW5nIGFsbG93ZWQgaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgY2x1c3Rlci4gU3BlY2lmaWVzIElQdjQgQ0lEUiBibG9ja3MgYW5kIHNlY3VyaXR5IGdyb3VwIElEcyB0aGF0IGNhbiBjb25uZWN0IHRvIHRoZSBjbHVzdGVyIHBvcnQgZm9yIGNvbnRyb2xsZWQgbmV0d29yayBhY2Nlc3MuXG4gICAqXG4gICAqIFVzZSBjYXNlczogTmV0d29yayBhY2Nlc3MgY29udHJvbDsgQ2xpZW50IGNvbm5lY3Rpdml0eTsgU2VjdXJpdHkgZ3JvdXAgbWFuYWdlbWVudFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBWUEMgc2VjdXJpdHkgZ3JvdXAgaW5ncmVzcyBydWxlcyBmb3IgUmVkc2hpZnQgY2x1c3RlciBhY2Nlc3MgY29udHJvbFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIG9iamVjdCB3aXRoIGlwdjQgYW5kL29yIHNnIGFycmF5czsgcmVxdWlyZWQ7IGRlZmluZXMgYWxsb3dlZCBpbmJvdW5kIGNvbm5lY3Rpb25zXG4gICAqICAgKiovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJbmdyZXNzOiB7IGlwdjQ/OiBzdHJpbmdbXTsgc2c/OiBzdHJpbmdbXSB9O1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBub2RlIHR5cGUgc3BlY2lmaWNhdGlvbiBkZXRlcm1pbmluZyBjb21wdXRlIGFuZCBzdG9yYWdlIGNhcGFjaXR5IGZvciBjbHVzdGVyIG5vZGVzLiBDb250cm9scyB0aGUgdW5kZXJseWluZyBFQzIgaW5zdGFuY2UgdHlwZSBhbmQgYWZmZWN0cyBwZXJmb3JtYW5jZSwgc3RvcmFnZSwgYW5kIGNvc3QgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBkYXRhIHdhcmVob3VzZS5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb247IENvc3QgbWFuYWdlbWVudDsgV29ya2xvYWQtc3BlY2lmaWMgc2l6aW5nXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IG5vZGUgdHlwZSBmb3IgY29tcHV0ZSBhbmQgc3RvcmFnZSBjYXBhY2l0eSBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgUmVkc2hpZnQgbm9kZSB0eXBlOyByZXF1aXJlZDsgZGV0ZXJtaW5lcyBjbHVzdGVyIGNvbXB1dGUgYW5kIHN0b3JhZ2UgY2FwYWNpdHlcbiAgICoqL1xuICByZWFkb25seSBub2RlVHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBudW1iZXIgb2Ygbm9kZXMgZm9yIHRoZSBSZWRzaGlmdCBjbHVzdGVyIGRldGVybWluaW5nIHRvdGFsIGNvbXB1dGUgY2FwYWNpdHkgYW5kIHBhcmFsbGVsIHByb2Nlc3NpbmcgY2FwYWJpbGl0eS4gQ29udHJvbHMgY2x1c3RlciBzaXplIGFuZCBhZmZlY3RzIHBlcmZvcm1hbmNlLCBjb3N0LCBhbmQgZGF0YSBkaXN0cmlidXRpb24gY2hhcmFjdGVyaXN0aWNzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENsdXN0ZXIgc2l6aW5nOyBQZXJmb3JtYW5jZSBzY2FsaW5nOyBDb3N0IG9wdGltaXphdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVyIG5vZGUgY291bnQgZm9yIGNvbXB1dGUgY2FwYWNpdHkgYW5kIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2VyOyByZXF1aXJlZDsgZGV0ZXJtaW5lcyBjbHVzdGVyIHNpemUgYW5kIHByb2Nlc3NpbmcgY2FwYWNpdHlcbiAgICoqL1xuICByZWFkb25seSBudW1iZXJPZk5vZGVzOiBudW1iZXI7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIFJlcXVpcmVkIGZsYWcgZW5hYmxpbmcgYXVkaXQgbG9nZ2luZyB0byBTMyBmb3IgY29tcGxpYW5jZSBhbmQgc2VjdXJpdHkgbW9uaXRvcmluZy4gV2hlbiBlbmFibGVkLCBjcmVhdGVzIGRlZGljYXRlZCBTMyBidWNrZXQgZm9yIFJlZHNoaWZ0IGF1ZGl0IGxvZ3Mgd2l0aCBTU0UtUzMgZW5jcnlwdGlvbiBhcyByZXF1aXJlZCBieSBSZWRzaGlmdCBhdWRpdCBsb2dnaW5nIGNvbnN0cmFpbnRzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENvbXBsaWFuY2UgYXVkaXRpbmc7IFNlY3VyaXR5IG1vbml0b3Jpbmc7IEF1ZGl0IHRyYWlsIG1hbmFnZW1lbnRcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgYXVkaXQgbG9nZ2luZyB0byBTMyBmb3IgY29tcGxpYW5jZSBhbmQgc2VjdXJpdHkgbW9uaXRvcmluZ1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBCb29sZWFuIHZhbHVlOyByZXF1aXJlZDsgY3JlYXRlcyBTU0UtUzMgZW5jcnlwdGVkIGF1ZGl0IGJ1Y2tldCB3aGVuIGVuYWJsZWRcbiAgICoqL1xuICByZWFkb25seSBlbmFibGVBdWRpdExvZ2dpbmdUb1MzOiBib29sZWFuO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBjbHVzdGVyIHBvcnQgbnVtYmVyIGZvciBjbGllbnQgY29ubmVjdGlvbnMgZW5hYmxpbmcgY3VzdG9tIHBvcnQgY29uZmlndXJhdGlvbiBhbmQgbmV0d29yayBzZWN1cml0eS4gRGVmaW5lcyB0aGUgVENQIHBvcnQgb24gd2hpY2ggdGhlIFJlZHNoaWZ0IGNsdXN0ZXIgYWNjZXB0cyBjbGllbnQgY29ubmVjdGlvbnMsIHN1cHBvcnRpbmcgY3VzdG9tIG5ldHdvcmtpbmcgcmVxdWlyZW1lbnRzIGFuZCBzZWN1cml0eSBjb25maWd1cmF0aW9ucy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBDdXN0b20gcG9ydCBjb25maWd1cmF0aW9uOyBOZXR3b3JrIHNlY3VyaXR5OyBDbGllbnQgY29ubmVjdGlvbiBtYW5hZ2VtZW50OyBQb3J0IHN0YW5kYXJkaXphdGlvblxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBjbHVzdGVyIHBvcnQgY29uZmlndXJhdGlvbiBmb3IgY2xpZW50IGNvbm5lY3Rpb24gbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIHZhbGlkIHBvcnQgbnVtYmVyIGlmIHNwZWNpZmllZDsgZGVmYXVsdHMgdG8gNTQ0MDsgbXVzdCBiZSBhY2Nlc3NpYmxlIHRocm91Z2ggc2VjdXJpdHkgZ3JvdXBzXG4gICAqKi9cbiAgcmVhZG9ubHkgY2x1c3RlclBvcnQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGZsYWcgY29udHJvbGxpbmcgY2x1c3RlciBub2RlIGNvbmZpZ3VyYXRpb24gZm9yIHNpbmdsZS1ub2RlIG9yIG11bHRpLW5vZGUgZGVwbG95bWVudC4gV2hlbiB0cnVlLCBjcmVhdGVzIG11bHRpLW5vZGUgY2x1c3RlciBmb3IgZGlzdHJpYnV0ZWQgcHJvY2Vzc2luZzsgd2hlbiBmYWxzZSwgY3JlYXRlcyBzaW5nbGUtbm9kZSBjbHVzdGVyIGZvciBkZXZlbG9wbWVudCBvciBzbWFsbCB3b3JrbG9hZHMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogQ2x1c3RlciBhcmNoaXRlY3R1cmUgc2VsZWN0aW9uOyBEZXZlbG9wbWVudCB2cyBwcm9kdWN0aW9uIGRlcGxveW1lbnQ7IENvc3Qgb3B0aW1pemF0aW9uOyBQZXJmb3JtYW5jZSBzY2FsaW5nXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IGNsdXN0ZXIgdHlwZSBjb25maWd1cmF0aW9uIGZvciBzaW5nbGUtbm9kZSBvciBtdWx0aS1ub2RlIGRlcGxveW1lbnRcbiAgICpcbiAgICogVmFsaWRhdGlvbjogQm9vbGVhbiB2YWx1ZTsgZGV0ZXJtaW5lcyBjbHVzdGVyIGFyY2hpdGVjdHVyZSBhbmQgbm9kZSBkaXN0cmlidXRpb247IGFmZmVjdHMgcGVyZm9ybWFuY2UgYW5kIGNvc3RcbiAgICoqL1xuICByZWFkb25seSBtdWx0aU5vZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBSZXF1aXJlZCBwcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93IGZvciBhdXRvbWF0ZWQgY2x1c3RlciBtYWludGVuYW5jZSBvcGVyYXRpb25zLiBTcGVjaWZpZXMgdGhlIHdlZWtseSB0aW1lIHJhbmdlIGR1cmluZyB3aGljaCBzeXN0ZW0gbWFpbnRlbmFuY2UgY2FuIG9jY3VyLCBtaW5pbWl6aW5nIGltcGFjdCBvbiBidXNpbmVzcyBvcGVyYXRpb25zIGFuZCBlbnN1cmluZyBwcmVkaWN0YWJsZSBtYWludGVuYW5jZSBzY2hlZHVsaW5nLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IE1haW50ZW5hbmNlIHNjaGVkdWxpbmc7IEJ1c2luZXNzIGNvbnRpbnVpdHk7IE9wZXJhdGlvbmFsIHBsYW5uaW5nOyBEb3dudGltZSBtYW5hZ2VtZW50XG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IHByZWZlcnJlZCBtYWludGVuYW5jZSB3aW5kb3cgZm9yIGF1dG9tYXRlZCBzeXN0ZW0gbWFpbnRlbmFuY2VcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSB2YWxpZCB0aW1lIHdpbmRvdyBmb3JtYXQgKGUuZy4sICdTdW46MjM6NDUtTW9uOjAwOjE1Jyk7IHJlcXVpcmVkOyBkZWZpbmVzIG1haW50ZW5hbmNlIHNjaGVkdWxpbmdcbiAgICoqL1xuICByZWFkb25seSBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBwYXJhbWV0ZXIgZ3JvdXAgcGFyYW1ldGVycyBmb3IgY2x1c3RlciBjb25maWd1cmF0aW9uIGN1c3RvbWl6YXRpb24gZW5hYmxpbmcgcGVyZm9ybWFuY2UgdHVuaW5nIGFuZCBvcGVyYXRpb25hbCBvcHRpbWl6YXRpb24uIFByb3ZpZGVzIGFkZGl0aW9uYWwgY2x1c3RlciBwYXJhbWV0ZXJzIHdoaWxlIHNlY3VyaXR5LXNlbnNpdGl2ZSB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgb3ZlcnJpZGRlbiBmb3IgY29tcGxpYW5jZSBhbmQgc2VjdXJpdHkuXG4gICAqXG4gICAqIFVzZSBjYXNlczogUGVyZm9ybWFuY2UgdHVuaW5nOyBPcGVyYXRpb25hbCBvcHRpbWl6YXRpb247IEN1c3RvbSBjbHVzdGVyIGNvbmZpZ3VyYXRpb247IFdvcmtsb2FkLXNwZWNpZmljIHNldHRpbmdzXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IHBhcmFtZXRlciBncm91cCBjb25maWd1cmF0aW9uIGZvciBjbHVzdGVyIGN1c3RvbWl6YXRpb24gYW5kIG9wdGltaXphdGlvblxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIG9iamVjdCB3aXRoIHN0cmluZyBrZXktdmFsdWUgcGFpcnMgaWYgcHJvdmlkZWQ7IHNlY3VyaXR5LXNlbnNpdGl2ZSB2YWx1ZXMgd2lsbCBiZSBvdmVycmlkZGVuXG4gICAqICAgKiovXG4gIHJlYWRvbmx5IHBhcmFtZXRlckdyb3VwUGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgd29ya2xvYWQgbWFuYWdlbWVudCBjb25maWd1cmF0aW9uIGZvciBxdWVyeSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gYW5kIHJlc291cmNlIGFsbG9jYXRpb24uIERlZmluZXMgV0xNIGNvbmZpZ3VyYXRpb24gZWxlbWVudHMgZm9yIG1hbmFnaW5nIHF1ZXJ5IHF1ZXVlcywgbWVtb3J5IGFsbG9jYXRpb24sIGFuZCBjb25jdXJyZW5jeSBmb3Igb3B0aW1hbCBjbHVzdGVyIHBlcmZvcm1hbmNlLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IFF1ZXJ5IHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbjsgUmVzb3VyY2UgYWxsb2NhdGlvbjsgV29ya2xvYWQgbWFuYWdlbWVudDsgQ29uY3VycmVuY3kgY29udHJvbFxuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCB3b3JrbG9hZCBtYW5hZ2VtZW50IGNvbmZpZ3VyYXRpb24gZm9yIHF1ZXJ5IG9wdGltaXphdGlvbiBhbmQgcmVzb3VyY2UgY29udHJvbFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIENvbmZpZ3VyYXRpb25FbGVtZW50IG9iamVjdHMgaWYgcHJvdmlkZWQ7IGRlZmluZXMgV0xNIGNvbmZpZ3VyYXRpb25cbiAgICoqL1xuICByZWFkb25seSB3b3JrbG9hZE1hbmFnZW1lbnQ/OiBDb25maWd1cmF0aW9uRWxlbWVudFtdO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBhZGRpdGlvbmFsIEtNUyBrZXkgQVJOcyBmb3IgY2x1c3RlciBidWNrZXQgZW5jcnlwdGlvbiBlbmFibGluZyBtdWx0aS1rZXkgZW5jcnlwdGlvbiBzY2VuYXJpb3MgYW5kIGNyb3NzLWFjY291bnQgYWNjZXNzLiBQcm92aWRlcyBhZGRpdGlvbmFsIEtNUyBrZXlzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHdyaXRpbmcgdG8gdGhlIGNsdXN0ZXIgYnVja2V0IGJleW9uZCB0aGUgZGVmYXVsdCBjbHVzdGVyIGVuY3J5cHRpb24ga2V5LlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IE11bHRpLWtleSBlbmNyeXB0aW9uOyBDcm9zcy1hY2NvdW50IGFjY2VzczsgQWRkaXRpb25hbCBlbmNyeXB0aW9uIGtleXM7IEZsZXhpYmxlIGtleSBtYW5hZ2VtZW50XG4gICAqXG4gICAqIEFXUzogQVdTIEtNUyBrZXkgQVJOcyBmb3IgYWRkaXRpb25hbCBjbHVzdGVyIGJ1Y2tldCBlbmNyeXB0aW9uIGFuZCBhY2Nlc3MgY29udHJvbFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIEtNUyBrZXkgQVJOcyBpZiBwcm92aWRlZDsga2V5cyBtdXN0IGJlIGFjY2Vzc2libGUgZm9yIGJ1Y2tldCBvcGVyYXRpb25zXG4gICAqKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbEJ1Y2tldEttc0tleUFybnM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgc2NoZWR1bGVkIGFjdGlvbnMgZm9yIGF1dG9tYXRlZCBjbHVzdGVyIHBhdXNlIGFuZCByZXN1bWUgb3BlcmF0aW9ucyBlbmFibGluZyBjb3N0IG9wdGltaXphdGlvbiBhbmQgb3BlcmF0aW9uYWwgYXV0b21hdGlvbi4gRGVmaW5lcyBzY2hlZHVsZWQgcGF1c2UgYW5kIHJlc3VtZSBhY3Rpb25zIGZvciB0aGUgY2x1c3RlciB0byBvcHRpbWl6ZSBjb3N0cyBkdXJpbmcgbm9uLWJ1c2luZXNzIGhvdXJzLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IENvc3Qgb3B0aW1pemF0aW9uOyBBdXRvbWF0ZWQgb3BlcmF0aW9uczsgU2NoZWR1bGVkIG1haW50ZW5hbmNlOyBSZXNvdXJjZSBtYW5hZ2VtZW50XG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IHNjaGVkdWxlZCBhY3Rpb25zIGZvciBhdXRvbWF0ZWQgY2x1c3RlciBwYXVzZSBhbmQgcmVzdW1lIG9wZXJhdGlvbnNcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSBhcnJheSBvZiB2YWxpZCBTY2hlZHVsZWRBY3Rpb25Qcm9wcyBpZiBwcm92aWRlZDsgZGVmaW5lcyBhdXRvbWF0ZWQgY2x1c3RlciBvcGVyYXRpb25zXG4gICAqKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGVkQWN0aW9ucz86IFNjaGVkdWxlZEFjdGlvblByb3BzW107XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGRhdGFiYXNlIHVzZXJzIGZvciBhdXRvbWF0ZWQgdXNlciBjcmVhdGlvbiBhbmQgY3JlZGVudGlhbCBtYW5hZ2VtZW50IGVuYWJsaW5nIHNlY3VyZSB1c2VyIHByb3Zpc2lvbmluZyBhbmQgcm90YXRpb24uIENyZWF0ZXMgZGF0YWJhc2UgdXNlcnMgaW4gUmVkc2hpZnQgd2l0aCBhdXRvbWF0ZWQgY3JlZGVudGlhbCBzdG9yYWdlIGFuZCByb3RhdGlvbiB0aHJvdWdoIFNlY3JldHMgTWFuYWdlciBhbmQgU1NNLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IEF1dG9tYXRlZCB1c2VyIHByb3Zpc2lvbmluZzsgQ3JlZGVudGlhbCBtYW5hZ2VtZW50OyBTZWN1cml0eSBhdXRvbWF0aW9uOyBVc2VyIGxpZmVjeWNsZSBtYW5hZ2VtZW50XG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IGRhdGFiYXNlIHVzZXJzIHdpdGggU2VjcmV0cyBNYW5hZ2VyIGFuZCBTU00gaW50ZWdyYXRpb24gZm9yIGNyZWRlbnRpYWwgbWFuYWdlbWVudFxuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBNdXN0IGJlIGFycmF5IG9mIHZhbGlkIERhdGFiYXNlVXNlcnNQcm9wcyBpZiBwcm92aWRlZDsgZW5hYmxlcyBhdXRvbWF0ZWQgdXNlciBhbmQgY3JlZGVudGlhbCBtYW5hZ2VtZW50XG4gICAqICAgKiovXG4gIHJlYWRvbmx5IGRhdGFiYXNlVXNlcnM/OiBEYXRhYmFzZVVzZXJzUHJvcHNbXTtcbiAgLyoqXG4gICAqIFEtRU5IQU5DRUQtUFJPUEVSVFlcbiAgICogT3B0aW9uYWwgZmxhZyBjb250cm9sbGluZyBkYXRhIHdhcmVob3VzZSBidWNrZXQgY3JlYXRpb24gZm9yIGNsdXN0ZXIgc3RvcmFnZSBvcGVyYXRpb25zLiBXaGVuIGVuYWJsZWQgKGRlZmF1bHQpLCBjcmVhdGVzIGRlZGljYXRlZCBTMyBidWNrZXQgZm9yIGRhdGEgd2FyZWhvdXNlIG9wZXJhdGlvbnMgaW5jbHVkaW5nIGRhdGEgbG9hZGluZywgdW5sb2FkaW5nLCBhbmQgYmFja3VwIHN0b3JhZ2UuXG4gICAqXG4gICAqIFVzZSBjYXNlczogU3RvcmFnZSByZXNvdXJjZSBtYW5hZ2VtZW50OyBEYXRhIG9wZXJhdGlvbnM7IEJhY2t1cCBzdG9yYWdlOyBFVEwgb3BlcmF0aW9uc1xuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBTMyBidWNrZXQgY3JlYXRpb24gZm9yIFJlZHNoaWZ0IGRhdGEgd2FyZWhvdXNlIHN0b3JhZ2Ugb3BlcmF0aW9uc1xuICAgKlxuICAgKiBWYWxpZGF0aW9uOiBCb29sZWFuIHZhbHVlOyBkZWZhdWx0cyB0byB0cnVlOyBjcmVhdGVzIGRlZGljYXRlZCB3YXJlaG91c2UgYnVja2V0IHdoZW4gZW5hYmxlZFxuICAgKiovXG4gIHJlYWRvbmx5IGNyZWF0ZVdhcmVob3VzZUJ1Y2tldD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIHJldGVudGlvbiBwZXJpb2QgZm9yIGF1dG9tYXRlZCBzbmFwc2hvdHMgZW5hYmxpbmcgYmFja3VwIG1hbmFnZW1lbnQgYW5kIGRhdGEgcHJvdGVjdGlvbi4gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgZGF5cyBhdXRvbWF0ZWQgc25hcHNob3RzIGFyZSByZXRhaW5lZCBmb3IgcG9pbnQtaW4tdGltZSByZWNvdmVyeSBhbmQgZGF0YSBwcm90ZWN0aW9uIHJlcXVpcmVtZW50cy5cbiAgICpcbiAgICogVXNlIGNhc2VzOiBCYWNrdXAgbWFuYWdlbWVudDsgRGF0YSBwcm90ZWN0aW9uOyBQb2ludC1pbi10aW1lIHJlY292ZXJ5OyBDb21wbGlhbmNlIHJlcXVpcmVtZW50c1xuICAgKlxuICAgKiBBV1M6IEFtYXpvbiBSZWRzaGlmdCBhdXRvbWF0ZWQgc25hcHNob3QgcmV0ZW50aW9uIGZvciBiYWNrdXAgbWFuYWdlbWVudCBhbmQgZGF0YSBwcm90ZWN0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgcG9zaXRpdmUgaW50ZWdlciBpZiBzcGVjaWZpZWQ7IGRlZmluZXMgc25hcHNob3QgcmV0ZW50aW9uIHBlcmlvZCBmb3IgYmFja3VwIG1hbmFnZW1lbnRcbiAgICoqL1xuICByZWFkb25seSBhdXRvbWF0ZWRTbmFwc2hvdFJldGVudGlvbkRheXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBRLUVOSEFOQ0VELVBST1BFUlRZXG4gICAqIE9wdGlvbmFsIGV2ZW50IG5vdGlmaWNhdGlvbiBjb25maWd1cmF0aW9uIGZvciBjbHVzdGVyIGFuZCBzY2hlZHVsZWQgYWN0aW9uIG1vbml0b3JpbmcgZW5hYmxpbmcgb3BlcmF0aW9uYWwgYXdhcmVuZXNzIGFuZCBhbGVydGluZy4gQ29uZmlndXJlcyBTTlMgbm90aWZpY2F0aW9ucyBmb3IgY2x1c3RlciBldmVudHMgYW5kIHNjaGVkdWxlZCBhY3Rpb24gc3RhdHVzIGZvciBvcGVyYXRpb25hbCBtb25pdG9yaW5nLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IE9wZXJhdGlvbmFsIG1vbml0b3Jpbmc7IEV2ZW50IGFsZXJ0aW5nOyBDbHVzdGVyIHN0YXR1cyB0cmFja2luZzsgQXV0b21hdGVkIG5vdGlmaWNhdGlvbnNcbiAgICpcbiAgICogQVdTOiBBbWF6b24gU05TIG5vdGlmaWNhdGlvbnMgZm9yIFJlZHNoaWZ0IGNsdXN0ZXIgZXZlbnRzIGFuZCBvcGVyYXRpb25hbCBtb25pdG9yaW5nXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgRXZlbnROb3RpZmljYXRpb25zUHJvcHMgaWYgcHJvdmlkZWQ7IGVuYWJsZXMgY2x1c3RlciBldmVudCBtb25pdG9yaW5nIGFuZCBhbGVydGluZ1xuICAgKiovXG4gIHJlYWRvbmx5IGV2ZW50Tm90aWZpY2F0aW9ucz86IEV2ZW50Tm90aWZpY2F0aW9uc1Byb3BzO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBkYXRhYmFzZSBuYW1lIGZvciBpbml0aWFsIGRhdGFiYXNlIGNyZWF0aW9uIGVuYWJsaW5nIGN1c3RvbSBkYXRhYmFzZSBuYW1pbmcgYW5kIG9yZ2FuaXphdGlvbi4gU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBpbml0aWFsIGRhdGFiYXNlIGNyZWF0ZWQgaW4gdGhlIGNsdXN0ZXIsIHN1cHBvcnRpbmcgY3VzdG9tIG5hbWluZyBjb252ZW50aW9ucyBhbmQgZGF0YWJhc2Ugb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBVc2UgY2FzZXM6IEN1c3RvbSBkYXRhYmFzZSBuYW1pbmc7IERhdGFiYXNlIG9yZ2FuaXphdGlvbjsgSW5pdGlhbCBkYXRhYmFzZSBzZXR1cDsgTmFtaW5nIGNvbnZlbnRpb25zXG4gICAqXG4gICAqIEFXUzogQW1hem9uIFJlZHNoaWZ0IGluaXRpYWwgZGF0YWJhc2UgbmFtZSBmb3IgY2x1c3RlciBkYXRhYmFzZSBjcmVhdGlvbiBhbmQgb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIFZhbGlkYXRpb246IE11c3QgYmUgdmFsaWQgZGF0YWJhc2UgbmFtZSBpZiBzcGVjaWZpZWQ7IGRlZmF1bHRzIHRvIFwiZGVmYXVsdF9kYlwiOyB1c2VkIGZvciBpbml0aWFsIGRhdGFiYXNlIGNyZWF0aW9uXG4gICAqKi9cbiAgcmVhZG9ubHkgZGJOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogUS1FTkhBTkNFRC1QUk9QRVJUWVxuICAgKiBPcHRpb25hbCBzbmFwc2hvdCBpZGVudGlmaWVyIGZvciBjbHVzdGVyIHJlc3RvcmF0aW9uIGZyb20gZXhpc3Rpbmcgc25hcHNob3QgZW5hYmxpbmcgZGlzYXN0ZXIgcmVjb3ZlcnkgYW5kIGRhdGEgbWlncmF0aW9uLiBTcGVjaWZpZXMgdGhlIHNuYXBzaG90IElEIHRvIHJlc3RvcmUgdGhlIGNsdXN0ZXIgZnJvbSwgc3VwcG9ydGluZyBkaXNhc3RlciByZWNvdmVyeSBzY2VuYXJpb3MgYW5kIGRhdGEgbWlncmF0aW9uIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIFVzZSBjYXNlczogRGlzYXN0ZXIgcmVjb3Zlcnk7IERhdGEgbWlncmF0aW9uOyBDbHVzdGVyIHJlc3RvcmF0aW9uOyBCYWNrdXAgcmVjb3ZlcnlcbiAgICpcbiAgICogQVdTOiBBbWF6b24gUmVkc2hpZnQgc25hcHNob3QgaWRlbnRpZmllciBmb3IgY2x1c3RlciByZXN0b3JhdGlvbiBhbmQgZGlzYXN0ZXIgcmVjb3ZlcnlcbiAgICpcbiAgICogVmFsaWRhdGlvbjogTXVzdCBiZSB2YWxpZCBzbmFwc2hvdCBpZGVudGlmaWVyIGlmIHNwZWNpZmllZDsgb25seSBwcm92aWRlIHdoZW4gcmVzdG9yaW5nIGZyb20gc25hcHNob3RcbiAgICoqL1xuICByZWFkb25seSBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvd25lckFjY291bnQgUmVmZXJzIHRvIHNuYXBzaG90IG93bmVyIGFjY291bnQuIEFwcGxpY2FibGUgaWYgcmVzdG9yaW5nIHRoZSBjbHVzdGVyIGZyb20gc25hcHNob3QgYW5kIHNuYXBzaG90IGJlbG9uZ3MgdG8gYW5vdGhlciBhY2NvdW50XG4gICAqIE9wdGlvbmFsIC0gQnkgZGVmYXVsdCwgc25hcHNob3RzIGFyZSBzZWFyY2hlZCB3aXRoaW4gY3VycmVudCBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBzbmFwc2hvdE93bmVyQWNjb3VudD86IG51bWJlcjtcblxuICByZWFkb25seSByZWRzaGlmdE1hbmFnZU1hc3RlclBhc3N3b3JkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFXYXJlaG91c2VDb25maWdQYXJzZXIgZXh0ZW5kcyBNZGFhQXBwQ29uZmlnUGFyc2VyPERhdGFXYXJlaG91c2VDb25maWdDb250ZW50cz4ge1xuICBwdWJsaWMgcmVhZG9ubHkgYWRtaW5Vc2VybmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRtaW5QYXNzd29yZFJvdGF0aW9uRGF5czogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZmVkZXJhdGlvbnM6IEZlZGVyYXRpb25Qcm9wc1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YWJhc2VVc2VyczogRGF0YWJhc2VVc2Vyc1Byb3BzW107XG4gIHB1YmxpYyByZWFkb25seSBkYXRhQWRtaW5Sb2xlUmVmczogTWRhYVJvbGVSZWZbXTtcbiAgcHVibGljIHJlYWRvbmx5IHdhcmVob3VzZUJ1Y2tldFVzZXJSb2xlUmVmcz86IE1kYWFSb2xlUmVmW107XG4gIHB1YmxpYyByZWFkb25seSBleGVjdXRpb25Sb2xlUmVmcz86IE1kYWFSb2xlUmVmW107XG4gIHB1YmxpYyByZWFkb25seSB2cGNJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2x1c3RlclBvcnQ6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IHN1Ym5ldElkczogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSBub2RlVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZW5hYmxlQXVkaXRMb2dnaW5nVG9TMzogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IG51bWJlck9mTm9kZXM6IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IG11bHRpTm9kZT86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cEluZ3Jlc3M6IHsgaXB2ND86IHN0cmluZ1tdOyBzZz86IHN0cmluZ1tdIH07XG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJHcm91cFBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtsb2FkTWFuYWdlbWVudDogQ29uZmlndXJhdGlvbkVsZW1lbnRbXTtcbiAgcHVibGljIHJlYWRvbmx5IGFkZGl0aW9uYWxCdWNrZXRLbXNLZXlBcm5zPzogc3RyaW5nW107XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdENsdXN0ZXJQb3J0ID0gNTQ0MDtcbiAgcHVibGljIHJlYWRvbmx5IHNjaGVkdWxlZEFjdGlvbnM6IFNjaGVkdWxlZEFjdGlvblByb3BzW107XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVXYXJlaG91c2VCdWNrZXQ/OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgYXV0b21hdGVkU25hcHNob3RSZXRlbnRpb25EYXlzPzogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZXZlbnROb3RpZmljYXRpb25zPzogRXZlbnROb3RpZmljYXRpb25zUHJvcHM7XG4gIHB1YmxpYyByZWFkb25seSBkYk5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzbmFwc2hvdE93bmVyQWNjb3VudD86IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IHJlZHNoaWZ0TWFuYWdlTWFzdGVyUGFzc3dvcmQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHN0YWNrOiBTdGFjaywgcHJvcHM6IE1kYWFBcHBDb25maWdQYXJzZXJQcm9wcykge1xuICAgIHN1cGVyKHN0YWNrLCBwcm9wcywgY29uZmlnU2NoZW1hIGFzIFNjaGVtYSk7XG5cbiAgICB0aGlzLmFkbWluVXNlcm5hbWUgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmFkbWluVXNlcm5hbWU7XG4gICAgdGhpcy5hZG1pblBhc3N3b3JkUm90YXRpb25EYXlzID0gdGhpcy5jb25maWdDb250ZW50cy5hZG1pblBhc3N3b3JkUm90YXRpb25EYXlzO1xuICAgIHRoaXMuZmVkZXJhdGlvbnMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmZlZGVyYXRpb25zID8gdGhpcy5jb25maWdDb250ZW50cy5mZWRlcmF0aW9ucyA6IFtdO1xuICAgIHRoaXMuZGF0YUFkbWluUm9sZVJlZnMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmRhdGFBZG1pblJvbGVzO1xuICAgIHRoaXMud2FyZWhvdXNlQnVja2V0VXNlclJvbGVSZWZzID0gdGhpcy5jb25maWdDb250ZW50cy53YXJlaG91c2VCdWNrZXRVc2VyUm9sZXM7XG4gICAgdGhpcy5leGVjdXRpb25Sb2xlUmVmcyA9IHRoaXMuY29uZmlnQ29udGVudHMuZXhlY3V0aW9uUm9sZXM7XG4gICAgdGhpcy52cGNJZCA9IHRoaXMuY29uZmlnQ29udGVudHMudnBjSWQ7XG4gICAgdGhpcy5zdWJuZXRJZHMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnN1Ym5ldElkcztcbiAgICB0aGlzLnNlY3VyaXR5R3JvdXBJbmdyZXNzID0gdGhpcy5jb25maWdDb250ZW50cy5zZWN1cml0eUdyb3VwSW5ncmVzcztcbiAgICB0aGlzLm5vZGVUeXBlID0gdGhpcy5jb25maWdDb250ZW50cy5ub2RlVHlwZTtcbiAgICB0aGlzLm51bWJlck9mTm9kZXMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLm51bWJlck9mTm9kZXM7XG4gICAgdGhpcy5lbmFibGVBdWRpdExvZ2dpbmdUb1MzID0gdGhpcy5jb25maWdDb250ZW50cy5lbmFibGVBdWRpdExvZ2dpbmdUb1MzO1xuICAgIHRoaXMuY2x1c3RlclBvcnQgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmNsdXN0ZXJQb3J0XG4gICAgICA/IHRoaXMuY29uZmlnQ29udGVudHMuY2x1c3RlclBvcnRcbiAgICAgIDogRGF0YVdhcmVob3VzZUNvbmZpZ1BhcnNlci5kZWZhdWx0Q2x1c3RlclBvcnQ7XG4gICAgdGhpcy5tdWx0aU5vZGUgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLm11bHRpTm9kZTtcbiAgICB0aGlzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93ID0gdGhpcy5jb25maWdDb250ZW50cy5wcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdztcbiAgICB0aGlzLnBhcmFtZXRlckdyb3VwUGFyYW1zID0gdGhpcy5jb25maWdDb250ZW50cy5wYXJhbWV0ZXJHcm91cFBhcmFtc1xuICAgICAgPyB0aGlzLmNvbmZpZ0NvbnRlbnRzLnBhcmFtZXRlckdyb3VwUGFyYW1zXG4gICAgICA6IHt9O1xuICAgIHRoaXMud29ya2xvYWRNYW5hZ2VtZW50ID0gdGhpcy5jb25maWdDb250ZW50cy53b3JrbG9hZE1hbmFnZW1lbnQgPyB0aGlzLmNvbmZpZ0NvbnRlbnRzLndvcmtsb2FkTWFuYWdlbWVudCA6IFtdO1xuICAgIHRoaXMuYWRkaXRpb25hbEJ1Y2tldEttc0tleUFybnMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmFkZGl0aW9uYWxCdWNrZXRLbXNLZXlBcm5zO1xuICAgIHRoaXMuc2NoZWR1bGVkQWN0aW9ucyA9IHRoaXMuY29uZmlnQ29udGVudHMuc2NoZWR1bGVkQWN0aW9ucyA/IHRoaXMuY29uZmlnQ29udGVudHMuc2NoZWR1bGVkQWN0aW9ucyA6IFtdO1xuICAgIHRoaXMuZGF0YWJhc2VVc2VycyA9IHRoaXMuY29uZmlnQ29udGVudHMuZGF0YWJhc2VVc2VycyA/IHRoaXMuY29uZmlnQ29udGVudHMuZGF0YWJhc2VVc2VycyA6IFtdO1xuICAgIHRoaXMuY3JlYXRlV2FyZWhvdXNlQnVja2V0ID0gdGhpcy5jb25maWdDb250ZW50cy5jcmVhdGVXYXJlaG91c2VCdWNrZXQ7XG4gICAgdGhpcy5hdXRvbWF0ZWRTbmFwc2hvdFJldGVudGlvbkRheXMgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLmF1dG9tYXRlZFNuYXBzaG90UmV0ZW50aW9uRGF5cztcbiAgICB0aGlzLmV2ZW50Tm90aWZpY2F0aW9ucyA9IHRoaXMuY29uZmlnQ29udGVudHMuZXZlbnROb3RpZmljYXRpb25zO1xuICAgIHRoaXMuZGJOYW1lID0gdGhpcy5jb25maWdDb250ZW50cy5kYk5hbWU7XG4gICAgdGhpcy5zbmFwc2hvdElkZW50aWZpZXIgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnNuYXBzaG90SWRlbnRpZmllcjtcbiAgICB0aGlzLnNuYXBzaG90T3duZXJBY2NvdW50ID0gdGhpcy5jb25maWdDb250ZW50cy5zbmFwc2hvdE93bmVyQWNjb3VudDtcbiAgICB0aGlzLnJlZHNoaWZ0TWFuYWdlTWFzdGVyUGFzc3dvcmQgPSB0aGlzLmNvbmZpZ0NvbnRlbnRzLnJlZHNoaWZ0TWFuYWdlTWFzdGVyUGFzc3dvcmQ7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "bin": {
9
9
  "datawarehouse-cdk": "bin/datawarehouse.js"
10
10
  },
11
- "version": "1.3.0",
11
+ "version": "1.4.0",
12
12
  "license": "Apache-2.0",
13
13
  "scripts": {
14
14
  "build": "tsc && typescript-json-schema --required --noExtraProps tsconfig.json DataWarehouseConfigContents --include 'lib/*.ts' --include '../../../../node_modules/@types/**/*.ts' --include 'lib/config-schema.json' > lib/config-schema.json && cp lib/config-schema.json ../../../../schemas/${npm_package_name}.json",
@@ -20,26 +20,22 @@
20
20
  "main": "lib/index.js",
21
21
  "types": "lib/index.d.ts",
22
22
  "devDependencies": {
23
- "@aws-mdaa/testing": "1.3.0",
24
- "@types/jest": "29.5.0",
25
- "@types/node": "17.0.23",
23
+ "@aws-mdaa/testing": "1.4.0",
24
+ "@types/jest": "29.5.14",
25
+ "@types/node": "22.9.0",
26
26
  "@types/prettier": "2.6.0",
27
- "jest": "29.5.0",
28
- "ts-jest": "29.1.0",
29
- "ts-node": "10.9.1",
30
- "typescript": "4.6.3",
31
- "typescript-json-schema": "0.63.0"
32
- },
33
- "overrides": {
34
- "aws-cdk-lib": "2.220.0",
35
- "@types/babel__traverse": "7.18.2"
27
+ "jest": "29.7.0",
28
+ "ts-jest": "29.4.6",
29
+ "ts-node": "10.9.2",
30
+ "typescript": "5.9.3",
31
+ "typescript-json-schema": "0.67.1"
36
32
  },
37
33
  "dependencies": {
38
- "@aws-mdaa/app": "1.3.0",
39
- "@aws-mdaa/config": "1.3.0",
40
- "@aws-mdaa/datawarehouse-l3-construct": "1.3.0",
41
- "@aws-mdaa/iam-role-helper": "1.3.0",
42
- "@aws-mdaa/l3-construct": "1.3.0",
34
+ "@aws-mdaa/app": "1.4.0",
35
+ "@aws-mdaa/config": "1.4.0",
36
+ "@aws-mdaa/datawarehouse-l3-construct": "1.4.0",
37
+ "@aws-mdaa/iam-role-helper": "1.4.0",
38
+ "@aws-mdaa/l3-construct": "1.4.0",
43
39
  "ajv": "8.17.1",
44
40
  "aws-cdk-lib": "2.220.0",
45
41
  "cdk-nag": "2.37.55",