@aws-cdk/aws-servicecatalogappregistry-alpha 2.261.0-alpha.0 → 2.262.0-alpha.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/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.261.0",
11
+ "aws-cdk-lib": "^2.262.0",
12
12
  "constructs": "^10.5.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -1150,6 +1150,19 @@
1150
1150
  }
1151
1151
  }
1152
1152
  },
1153
+ "aws-cdk-lib.aws_controlcatalog": {
1154
+ "targets": {
1155
+ "dotnet": {
1156
+ "namespace": "Amazon.CDK.AWS.ControlCatalog"
1157
+ },
1158
+ "java": {
1159
+ "package": "software.amazon.awscdk.services.controlcatalog"
1160
+ },
1161
+ "python": {
1162
+ "module": "aws_cdk.aws_controlcatalog"
1163
+ }
1164
+ }
1165
+ },
1153
1166
  "aws-cdk-lib.aws_controltower": {
1154
1167
  "targets": {
1155
1168
  "dotnet": {
@@ -1202,6 +1215,19 @@
1202
1215
  }
1203
1216
  }
1204
1217
  },
1218
+ "aws-cdk-lib.aws_dataexchange": {
1219
+ "targets": {
1220
+ "dotnet": {
1221
+ "namespace": "Amazon.CDK.AWS.DataExchange"
1222
+ },
1223
+ "java": {
1224
+ "package": "software.amazon.awscdk.services.dataexchange"
1225
+ },
1226
+ "python": {
1227
+ "module": "aws_cdk.aws_dataexchange"
1228
+ }
1229
+ }
1230
+ },
1205
1231
  "aws-cdk-lib.aws_datapipeline": {
1206
1232
  "targets": {
1207
1233
  "dotnet": {
@@ -3015,6 +3041,19 @@
3015
3041
  }
3016
3042
  }
3017
3043
  },
3044
+ "aws-cdk-lib.aws_outposts": {
3045
+ "targets": {
3046
+ "dotnet": {
3047
+ "namespace": "Amazon.CDK.AWS.Outposts"
3048
+ },
3049
+ "java": {
3050
+ "package": "software.amazon.awscdk.services.outposts"
3051
+ },
3052
+ "python": {
3053
+ "module": "aws_cdk.aws_outposts"
3054
+ }
3055
+ }
3056
+ },
3018
3057
  "aws-cdk-lib.aws_panorama": {
3019
3058
  "targets": {
3020
3059
  "dotnet": {
@@ -5464,6 +5503,22 @@
5464
5503
  }
5465
5504
  }
5466
5505
  },
5506
+ "aws-cdk-lib.interfaces.aws_controlcatalog": {
5507
+ "targets": {
5508
+ "dotnet": {
5509
+ "namespace": "Amazon.CDK.Interfaces.ControlCatalog"
5510
+ },
5511
+ "go": {
5512
+ "packageName": "interfacesawscontrolcatalog"
5513
+ },
5514
+ "java": {
5515
+ "package": "software.amazon.awscdk.interfaces.controlcatalog"
5516
+ },
5517
+ "python": {
5518
+ "module": "aws_cdk.interfaces.aws_controlcatalog"
5519
+ }
5520
+ }
5521
+ },
5467
5522
  "aws-cdk-lib.interfaces.aws_controltower": {
5468
5523
  "targets": {
5469
5524
  "dotnet": {
@@ -5528,6 +5583,22 @@
5528
5583
  }
5529
5584
  }
5530
5585
  },
5586
+ "aws-cdk-lib.interfaces.aws_dataexchange": {
5587
+ "targets": {
5588
+ "dotnet": {
5589
+ "namespace": "Amazon.CDK.Interfaces.DataExchange"
5590
+ },
5591
+ "go": {
5592
+ "packageName": "interfacesawsdataexchange"
5593
+ },
5594
+ "java": {
5595
+ "package": "software.amazon.awscdk.interfaces.dataexchange"
5596
+ },
5597
+ "python": {
5598
+ "module": "aws_cdk.interfaces.aws_dataexchange"
5599
+ }
5600
+ }
5601
+ },
5531
5602
  "aws-cdk-lib.interfaces.aws_datapipeline": {
5532
5603
  "targets": {
5533
5604
  "dotnet": {
@@ -7544,6 +7615,22 @@
7544
7615
  }
7545
7616
  }
7546
7617
  },
7618
+ "aws-cdk-lib.interfaces.aws_outposts": {
7619
+ "targets": {
7620
+ "dotnet": {
7621
+ "namespace": "Amazon.CDK.Interfaces.Outposts"
7622
+ },
7623
+ "go": {
7624
+ "packageName": "interfacesawsoutposts"
7625
+ },
7626
+ "java": {
7627
+ "package": "software.amazon.awscdk.interfaces.outposts"
7628
+ },
7629
+ "python": {
7630
+ "module": "aws_cdk.interfaces.aws_outposts"
7631
+ }
7632
+ }
7633
+ },
7547
7634
  "aws-cdk-lib.interfaces.aws_panorama": {
7548
7635
  "targets": {
7549
7636
  "dotnet": {
@@ -9089,7 +9176,7 @@
9089
9176
  },
9090
9177
  "locationInModule": {
9091
9178
  "filename": "lib/application.ts",
9092
- "line": 322
9179
+ "line": 323
9093
9180
  },
9094
9181
  "parameters": [
9095
9182
  {
@@ -9290,7 +9377,7 @@
9290
9377
  },
9291
9378
  "locationInModule": {
9292
9379
  "filename": "lib/application.ts",
9293
- "line": 343
9380
+ "line": 344
9294
9381
  },
9295
9382
  "name": "generateUniqueHash",
9296
9383
  "parameters": [
@@ -9369,7 +9456,7 @@
9369
9456
  "immutable": true,
9370
9457
  "locationInModule": {
9371
9458
  "filename": "lib/application.ts",
9372
- "line": 317
9459
+ "line": 318
9373
9460
  },
9374
9461
  "name": "applicationArn",
9375
9462
  "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IApplication",
@@ -9385,7 +9472,7 @@
9385
9472
  "immutable": true,
9386
9473
  "locationInModule": {
9387
9474
  "filename": "lib/application.ts",
9388
- "line": 318
9475
+ "line": 319
9389
9476
  },
9390
9477
  "name": "applicationId",
9391
9478
  "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IApplication",
@@ -9404,7 +9491,7 @@
9404
9491
  "immutable": true,
9405
9492
  "locationInModule": {
9406
9493
  "filename": "lib/application.ts",
9407
- "line": 316
9494
+ "line": 317
9408
9495
  },
9409
9496
  "name": "applicationManagerUrl",
9410
9497
  "optional": true,
@@ -9420,7 +9507,7 @@
9420
9507
  "immutable": true,
9421
9508
  "locationInModule": {
9422
9509
  "filename": "lib/application.ts",
9423
- "line": 319
9510
+ "line": 320
9424
9511
  },
9425
9512
  "name": "applicationName",
9426
9513
  "optional": true,
@@ -10938,6 +11025,6 @@
10938
11025
  "symbolId": "lib/target-application:TargetApplicationCommonOptions"
10939
11026
  }
10940
11027
  },
10941
- "version": "2.261.0-alpha.0",
11028
+ "version": "2.262.0-alpha.0",
10942
11029
  "fingerprint": "**********"
10943
11030
  }
Binary file
@@ -4,11 +4,6 @@
4
4
  "count": 1
5
5
  }
6
6
  },
7
- "lib/application.ts": {
8
- "@cdklabs/no-throw-default-error": {
9
- "count": 1
10
- }
11
- },
12
7
  "lib/attribute-group.ts": {
13
8
  "@cdklabs/no-throw-default-error": {
14
9
  "count": 1
@@ -54,7 +54,7 @@ const stack_associator_1 = require("./aspects/stack-associator");
54
54
  * Cross account feature will only work for non environment agnostic stacks.
55
55
  */
56
56
  class ApplicationAssociator extends constructs_1.Construct {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.ApplicationAssociator", version: "2.261.0-alpha.0" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.ApplicationAssociator", version: "2.262.0-alpha.0" };
58
58
  /**
59
59
  * Created or imported application.
60
60
  */
@@ -149,7 +149,7 @@ class ApplicationBase extends cdk.Resource {
149
149
  });
150
150
  this.associatedResources.add(stack.node.addr);
151
151
  if (stack !== cdk.Stack.of(this) && this.isSameAccount(stack) && !this.isStageScope(stack) && !stack.nested) {
152
- stack.addDependency(cdk.Stack.of(this));
152
+ stack.addStackDependency(cdk.Stack.of(this));
153
153
  }
154
154
  }
155
155
  }
@@ -225,7 +225,7 @@ let Application = (() => {
225
225
  Application = _classThis = _classDescriptor.value;
226
226
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
227
227
  }
228
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.Application", version: "2.261.0-alpha.0" };
228
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.Application", version: "2.262.0-alpha.0" };
229
229
  /** Uniquely identifies this class. */
230
230
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-servicecatalogappregistry-alpha.Application';
231
231
  /**
@@ -239,6 +239,7 @@ let Application = (() => {
239
239
  const arn = cdk.Stack.of(scope).splitArn(applicationArn, cdk.ArnFormat.SLASH_RESOURCE_SLASH_RESOURCE_NAME);
240
240
  const applicationId = arn.resourceName;
241
241
  if (!applicationId) {
242
+ // eslint-disable-next-line @cdklabs/no-throw-default-error
242
243
  throw new Error('Missing required Application ID from Application ARN: ' + applicationArn);
243
244
  }
244
245
  class Import extends ApplicationBase {
@@ -302,4 +303,4 @@ let Application = (() => {
302
303
  return Application = _classThis;
303
304
  })();
304
305
  exports.Application = Application;
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBdUQ7QUFDdkQsNkZBQWlJO0FBQ2pJLHNEQUF3QztBQUN4Qyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLGlFQUFrRTtBQUVsRSx1REFBbUQ7QUFFbkQscUNBQWdGO0FBQ2hGLDJDQUFzRDtBQUN0RCxxREFBc0Q7QUFFdEQsTUFBTSx3Q0FBd0MsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxtRkFBbUYsQ0FBQztBQUM3SixNQUFNLDJDQUEyQyxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLDJGQUEyRixDQUFDO0FBZ0h4SyxNQUFlLGVBQWdCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFJaEMseUJBQXlCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsbUJBQW1CLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFOUQ7Ozs7O09BS0c7SUFDSSx1QkFBdUIsQ0FBQyxjQUErQjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSw0REFBNEIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLE1BQU0sRUFBRSxFQUFFO2dCQUMzRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLGNBQWMsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO2FBQ2hELENBQUMsQ0FBQztZQUNILElB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LENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2pHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM1RywyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN0Rzs7WUF6RVUsdURBQVc7Ozs7O0FBQVgsa0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5SZXNvdXJjZVNoYXJlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJhbSc7XG5pbXBvcnQgeyBDZm5BcHBsaWNhdGlvbiwgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiwgQ2ZuUmVzb3VyY2VBc3NvY2lhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZXJ2aWNlY2F0YWxvZ2FwcHJlZ2lzdHJ5JztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTdGFnZVN0YWNrQXNzb2NpYXRvciB9IGZyb20gJy4vYXNwZWN0cy9zdGFjay1hc3NvY2lhdG9yJztcbmltcG9ydCB0eXBlIHsgSUF0dHJpYnV0ZUdyb3VwIH0gZnJvbSAnLi9hdHRyaWJ1dGUtZ3JvdXAnO1xuaW1wb3J0IHsgQXR0cmlidXRlR3JvdXAgfSBmcm9tICcuL2F0dHJpYnV0ZS1ncm91cCc7XG5pbXBvcnQgdHlwZSB7IFNoYXJlT3B0aW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IGdldFByaW5jaXBhbHNmb3JTaGFyaW5nLCBoYXNoVmFsdWVzLCBTaGFyZVBlcm1pc3Npb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBpc0FjY291bnRVbnJlc29sdmVkIH0gZnJvbSAnLi9wcml2YXRlL3V0aWxzJztcbmltcG9ydCB7IElucHV0VmFsaWRhdG9yIH0gZnJvbSAnLi9wcml2YXRlL3ZhbGlkYXRpb24nO1xuXG5jb25zdCBBUFBMSUNBVElPTl9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOID0gYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpyYW06OmF3czpwZXJtaXNzaW9uL0FXU1JBTVBlcm1pc3Npb25TZXJ2aWNlQ2F0YWxvZ0FwcFJlZ2lzdHJ5QXBwbGljYXRpb25SZWFkT25seWA7XG5jb25zdCBBUFBMSUNBVElPTl9BTExPV19BQ0NFU1NfUkFNX1BFUk1JU1NJT05fQVJOID0gYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpyYW06OmF3czpwZXJtaXNzaW9uL0FXU1JBTVBlcm1pc3Npb25TZXJ2aWNlQ2F0YWxvZ0FwcFJlZ2lzdHJ5QXBwbGljYXRpb25BbGxvd0Fzc29jaWF0aW9uYDtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBdHRyaWJ1dGUgR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBmb3IgYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEpTT04gb2YgbmVzdGVkIGtleS12YWx1ZSBwYWlycyB0aGF0IHJlcHJlc2VudCB0aGUgYXR0cmlidXRlcyBpbiB0aGUgZ3JvdXAuXG4gICAqIEF0dHJpYnV0ZXMgbWF5YmUgYW4gZW1wdHkgSlNPTiAne30nLCBidXQgbXVzdCBiZSBleHBsaWNpdGx5IHN0YXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGxpY2F0aW9uIGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhbiBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGVHcm91cCBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXBcbiAgICovXG4gIGFzc29jaWF0ZUF0dHJpYnV0ZUdyb3VwKGF0dHJpYnV0ZUdyb3VwOiBJQXR0cmlidXRlR3JvdXApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXR0cmlidXRlIGdyb3VwIGFuZCBhc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIHRoZSBjcmVhdGVkIGF0dHJpYnV0ZSBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIGlkIG5hbWUgb2YgdGhlIEF0dHJpYnV0ZUdyb3VwIGNvbnN0cnVjdCB0byBiZSBjcmVhdGVkLlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXBQcm9wcyBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXAgcHJvcHNcbiAgICovXG4gIGFkZEF0dHJpYnV0ZUdyb3VwKGlkOiBzdHJpbmcsIGF0dHJpYnV0ZUdyb3VwUHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cDtcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhIENsb3VkRm9ybWF0aW9uIHN0YWNrLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBDbG91ZGZvcm1hdGlvbiBzdGFjayB3aXRoIHRoZSBhcHBsaWNhdGlvbiBpbiB0aGUgZ2l2ZW4gc3RhY2suXG4gICAqXG4gICAqIEBwYXJhbSBzdGFjayBhIENGTiBzdGFja1xuICAgKi9cbiAgYXNzb2NpYXRlQXBwbGljYXRpb25XaXRoU3RhY2soc3RhY2s6IGNkay5TdGFjayk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFNoYXJlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBvdGhlciBJQU0gZW50aXRpZXMsIGFjY291bnRzLCBvciBPVXMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IG5hbWUgZm9yIHRoZSBzaGFyZS5cbiAgICogQHBhcmFtIHNoYXJlT3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHNoYXJlLlxuICAgKi9cbiAgc2hhcmVBcHBsaWNhdGlvbihpZDogc3RyaW5nLCBzaGFyZU9wdGlvbnM6IFNoYXJlT3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggYWxsIHN0YWNrcyB1bmRlciB0aGUgY29uc3RydWN0IG5vZGUuXG4gICAqIE5PVEU6IFRoaXMgbWV0aG9kIHdvbid0IGF1dG9tYXRpY2FsbHkgcmVnaXN0ZXIgc3RhY2tzIHVuZGVyIHBpcGVsaW5lIHN0YWdlcyxcbiAgICogYW5kIHJlcXVpcmVzIGFzc29jaWF0aW9uIG9mIGVhY2ggcGlwZWxpbmUgc3RhZ2UgYnkgY2FsbGluZyB0aGlzIG1ldGhvZCB3aXRoIHN0YWdlIENvbnN0cnVjdC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnN0cnVjdCBjZGsgQ29uc3RydWN0XG4gICAqL1xuICBhc3NvY2lhdGVBbGxTdGFja3NJblNjb3BlKGNvbnN0cnVjdDogQ29uc3RydWN0KTogdm9pZDtcblxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEFwcGxpY2F0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBFbmZvcmNlcyBhIHBhcnRpY3VsYXIgcGh5c2ljYWwgYXBwbGljYXRpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBmb3IgYXBwbGljYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBBcHBsaWNhdGlvbkJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJQXBwbGljYXRpb24ge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhc3NvY2lhdGVkQXR0cmlidXRlR3JvdXBzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhc3NvY2lhdGVkUmVzb3VyY2VzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblxuICAvKipcbiAgICogQXNzb2NpYXRlIGFuIGF0dHJpYnV0ZSBncm91cCB3aXRoIGFwcGxpY2F0aW9uXG4gICAqIElmIHRoZSBhdHRyaWJ1dGUgZ3JvdXAgaXMgYWxyZWFkeSBhc3NvY2lhdGVkLCBpdCB3aWxsIGlnbm9yZSBkdXBsaWNhdGUgcmVxdWVzdC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBBdHRyaWJ1dGVHcm91cC5hc3NvY2lhdGVXaXRoYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZUF0dHJpYnV0ZUdyb3VwKGF0dHJpYnV0ZUdyb3VwOiBJQXR0cmlidXRlR3JvdXApOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3Vwcy5oYXMoYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKSkge1xuICAgICAgY29uc3QgaGFzaElkID0gdGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKTtcbiAgICAgIG5ldyBDZm5BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uKHRoaXMsIGBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uJHtoYXNoSWR9YCwge1xuICAgICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgICBhdHRyaWJ1dGVHcm91cDogYXR0cmlidXRlR3JvdXAuYXR0cmlidXRlR3JvdXBJZCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hc3NvY2lhdGVkQXR0cmlidXRlR3JvdXBzLmFkZChhdHRyaWJ1dGVHcm91cC5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXR0cmlidXRlIGdyb3VwIGFuZCBhc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIHRoZSBjcmVhdGVkIGF0dHJpYnV0ZSBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhZGRBdHRyaWJ1dGVHcm91cChpZDogc3RyaW5nLCBwcm9wczogQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvblByb3BzKTogSUF0dHJpYnV0ZUdyb3VwIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVHcm91cCA9IG5ldyBBdHRyaWJ1dGVHcm91cCh0aGlzLCBpZCwge1xuICAgICAgYXR0cmlidXRlR3JvdXBOYW1lOiBwcm9wcy5hdHRyaWJ1dGVHcm91cE5hbWUsXG4gICAgICBhdHRyaWJ1dGVzOiBwcm9wcy5hdHRyaWJ1dGVzLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgIH0pO1xuICAgIG5ldyBDZm5BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uKHRoaXMsIGBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uJHt0aGlzLmdlbmVyYXRlVW5pcXVlSGFzaChhdHRyaWJ1dGVHcm91cC5ub2RlLmFkZHIpfWAsIHtcbiAgICAgIGFwcGxpY2F0aW9uOiB0aGlzLmFwcGxpY2F0aW9uSWQsXG4gICAgICBhdHRyaWJ1dGVHcm91cDogYXR0cmlidXRlR3JvdXAuYXR0cmlidXRlR3JvdXBJZCxcbiAgICB9KTtcbiAgICB0aGlzLmFzc29jaWF0ZWRBdHRyaWJ1dGVHcm91cHMuYWRkKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcik7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZUdyb3VwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBhIHN0YWNrIHdpdGggdGhlIGFwcGxpY2F0aW9uXG4gICAqIElmIHRoZSByZXNvdXJjZSBpcyBhbHJlYWR5IGFzc29jaWF0ZWQsIGl0IHdpbGwgaWdub3JlIGR1cGxpY2F0ZSByZXF1ZXN0LlxuICAgKiBBIHN0YWNrIGNhbiBvbmx5IGJlIGFzc29jaWF0ZWQgd2l0aCBvbmUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgYXNzb2NpYXRlQXBwbGljYXRpb25XaXRoU3RhY2tgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgYXNzb2NpYXRlU3RhY2soc3RhY2s6IGNkay5TdGFjayk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3NvY2lhdGVkUmVzb3VyY2VzLmhhcyhzdGFjay5ub2RlLmFkZHIpKSB7XG4gICAgICBjb25zdCBoYXNoSWQgPSB0aGlzLmdlbmVyYXRlVW5pcXVlSGFzaChzdGFjay5ub2RlLmFkZHIpO1xuICAgICAgbmV3IENmblJlc291cmNlQXNzb2NpYXRpb24odGhpcywgYFJlc291cmNlQXNzb2NpYXRpb24ke2hhc2hJZH1gLCB7XG4gICAgICAgIGFwcGxpY2F0aW9uOiB0aGlzLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIHJlc291cmNlOiBzdGFjay5zdGFja0lkLFxuICAgICAgICByZXNvdXJjZVR5cGU6ICdDRk5fU1RBQ0snLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmFzc29jaWF0ZWRSZXNvdXJjZXMuYWRkKHN0YWNrLm5vZGUuYWRkcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBzdGFjayB3aXRoIHRoZSBhcHBsaWNhdGlvbiBpbiB0aGUgc3RhY2sgcGFzc2VkIGFzIHBhcmFtZXRlci5cbiAgICpcbiAgICogQSBzdGFjayBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggb25lIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5oYXMoc3RhY2subm9kZS5hZGRyKSkge1xuICAgICAgbmV3IENmblJlc291cmNlQXNzb2NpYXRpb24oc3RhY2ssICdBcHBSZWdpc3RyeUFzc29jaWF0aW9uJywge1xuICAgICAgICBhcHBsaWNhdGlvbjogc3RhY2sgPT09IGNkay5TdGFjay5vZih0aGlzKSA/IHRoaXMuYXBwbGljYXRpb25JZCA6IHRoaXMuYXBwbGljYXRpb25OYW1lID8/IHRoaXMuYXBwbGljYXRpb25JZCxcbiAgICAgICAgcmVzb3VyY2U6IHN0YWNrLnN0YWNrSWQsXG4gICAgICAgIHJlc291cmNlVHlwZTogJ0NGTl9TVEFDSycsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hc3NvY2lhdGVkUmVzb3VyY2VzLmFkZChzdGFjay5ub2RlLmFkZHIpO1xuICAgICAgaWYgKHN0YWNrICE9PSBjZGsuU3RhY2sub2YodGhpcykgJiYgdGhpcy5pc1NhbWVBY2NvdW50KHN0YWNrKSAmJiAhdGhpcy5pc1N0YWdlU2NvcGUoc3RhY2spICYmICFzdGFjay5uZXN0ZWQpIHtcbiAgICAgICAgc3RhY2suYWRkRGVwZW5kZW5jeShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaGFyZSBhbiBhcHBsaWNhdGlvbiB3aXRoIGFjY291bnRzLCBvcmdhbml6YXRpb25zIGFuZCBPVXMsIGFuZCBJQU0gcm9sZXMgYW5kIHVzZXJzLlxuICAgKiBUaGUgYXBwbGljYXRpb24gd2lsbCBiZWNvbWUgYXZhaWxhYmxlIHRvIGVuZCB1c2VycyB3aXRoaW4gdGhvc2UgcHJpbmNpcGFscy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgbmFtZSBmb3IgdGhlIHNoYXJlLlxuICAgKiBAcGFyYW0gc2hhcmVPcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgc2hhcmUuXG4gICAqL1xuICBwdWJsaWMgc2hhcmVBcHBsaWNhdGlvbihpZDogc3RyaW5nLCBzaGFyZU9wdGlvbnM6IFNoYXJlT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHByaW5jaXBhbHMgPSBnZXRQcmluY2lwYWxzZm9yU2hhcmluZyhzaGFyZU9wdGlvbnMpO1xuICAgIG5ldyBDZm5SZXNvdXJjZVNoYXJlKHRoaXMsIGlkLCB7XG4gICAgICBuYW1lOiBzaGFyZU9wdGlvbnMubmFtZSxcbiAgICAgIGFsbG93RXh0ZXJuYWxQcmluY2lwYWxzOiBmYWxzZSxcbiAgICAgIHByaW5jaXBhbHM6IHByaW5jaXBhbHMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmFwcGxpY2F0aW9uQXJuXSxcbiAgICAgIHBlcm1pc3Npb25Bcm5zOiBbdGhpcy5nZXRBcHBsaWNhdGlvblNoYXJlUGVybWlzc2lvbkFSTihzaGFyZU9wdGlvbnMpXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYWxsIHN0YWNrcyBwcmVzZW50IGluIGNvbnN0cnVjdCdzIGFzcGVjdCB3aXRoIGFwcGxpY2F0aW9uLCBpbmNsdWRpbmcgY3Jvc3MtYWNjb3VudCBzdGFja3MuXG4gICAqXG4gICAqIE5PVEU6IFRoaXMgbWV0aG9kIHdvbid0IGF1dG9tYXRpY2FsbHkgcmVnaXN0ZXIgc3RhY2tzIHVuZGVyIHBpcGVsaW5lIHN0YWdlcyxcbiAgICogYW5kIHJlcXVpcmVzIGFzc29jaWF0aW9uIG9mIGVhY2ggcGlwZWxpbmUgc3RhZ2UgYnkgY2FsbGluZyB0aGlzIG1ldGhvZCB3aXRoIHN0YWdlIENvbnN0cnVjdC5cbiAgICpcbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBbGxTdGFja3NJblNjb3BlKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjZGsuQXNwZWN0cy5vZihzY29wZSkuYWRkKG5ldyBTdGFnZVN0YWNrQXNzb2NpYXRvcih0aGlzLCB7XG4gICAgICBhc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3M6IHRydWUsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHVuaXF1ZSBpZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdlbmVyYXRlVW5pcXVlSGFzaChyZXNvdXJjZUFkZHJlc3M6IHN0cmluZyk6IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IHRoZSBjb3JyZWN0IHBlcm1pc3Npb24gQVJOIGJhc2VkIG9uIHRoZSBTaGFyZVBlcm1pc3Npb25cbiAgICovXG4gIHByaXZhdGUgZ2V0QXBwbGljYXRpb25TaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbikge1xuICAgICAgY2FzZSBTaGFyZVBlcm1pc3Npb24uQUxMT1dfQUNDRVNTOlxuICAgICAgICByZXR1cm4gQVBQTElDQVRJT05fQUxMT1dfQUNDRVNTX1JBTV9QRVJNSVNTSU9OX0FSTjtcbiAgICAgIGNhc2UgU2hhcmVQZXJtaXNzaW9uLlJFQURfT05MWTpcbiAgICAgICAgcmV0dXJuIEFQUExJQ0FUSU9OX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzaGFyZU9wdGlvbnMuc2hhcmVQZXJtaXNzaW9uID8/IEFQUExJQ0FUSU9OX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDaGVja3Mgd2hldGhlciBhIHN0YWNrIGlzIGRlZmluZWQgaW4gYSBTdGFnZSBvciBub3QuXG4gICAqL1xuICBwcml2YXRlIGlzU3RhZ2VTY29wZShzdGFjayA6IGNkay5TdGFjayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHN0YWNrLm5vZGUuc2NvcGUgaW5zdGFuY2VvZiBjZGsuQXBwKSAmJiAoc3RhY2subm9kZS5zY29wZSBpbnN0YW5jZW9mIGNkay5TdGFnZSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgaWYgYXBwbGljYXRpb24gYW5kIHRoZSB2aXNpdGVkIG5vZGUgaXMgZGVwbG95ZWQgaW4gZGlmZmVyZW50IGFjY291bnQuXG4gICAqL1xuICBwcml2YXRlIGlzU2FtZUFjY291bnQoc3RhY2s6IGNkay5TdGFjayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0FjY291bnRVbnJlc29sdmVkKHRoaXMuZW52LmFjY291bnQsIHN0YWNrLmFjY291bnQpIHx8IHRoaXMuZW52LmFjY291bnQgPT09IHN0YWNrLmFjY291bnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBcHBsaWNhdGlvbi5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uIGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3Mtc2VydmljZWNhdGFsb2dhcHByZWdpc3RyeS1hbHBoYS5BcHBsaWNhdGlvbic7XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gQXBwbGljYXRpb24gY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uQXJuIHRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSBvZiB0aGUgZXhpc3RpbmcgQXBwUmVnaXN0cnkgQXBwbGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwcGxpY2F0aW9uQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFwcGxpY2F0aW9uQXJuOiBzdHJpbmcpOiBJQXBwbGljYXRpb24ge1xuICAgIGNvbnN0IGFybiA9IGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXBwbGljYXRpb25Bcm4sIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgY29uc3QgYXBwbGljYXRpb25JZCA9IGFybi5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWFwcGxpY2F0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBBcHBsaWNhdGlvbiBJRCBmcm9tIEFwcGxpY2F0aW9uIEFSTjogJyArIGFwcGxpY2F0aW9uQXJuKTtcbiAgICB9XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBcHBsaWNhdGlvbkJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uQXJuID0gYXBwbGljYXRpb25Bcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25JZCA9IGFwcGxpY2F0aW9uSWQhO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZSA9IHVuZGVmaW5lZDtcblxuICAgICAgcHJvdGVjdGVkIGdlbmVyYXRlVW5pcXVlSGFzaChyZXNvdXJjZUFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMuYXBwbGljYXRpb25Bcm4sIHJlc291cmNlQWRkcmVzcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IGFwcGxpY2F0aW9uQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpY2F0aW9uIG1hbmFnZXIgVVJMIGZvciB0aGUgQXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbk1hbmFnZXJVcmw/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbkFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25OYW1lPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vZGVBZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcGxpY2F0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy52YWxpZGF0ZUFwcGxpY2F0aW9uUHJvcHMocHJvcHMpO1xuXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSBuZXcgQ2ZuQXBwbGljYXRpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuYXBwbGljYXRpb25OYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcHBsaWNhdGlvbkFybiA9IGFwcGxpY2F0aW9uLmF0dHJBcm47XG4gICAgdGhpcy5hcHBsaWNhdGlvbklkID0gYXBwbGljYXRpb24uYXR0cklkO1xuICAgIHRoaXMuYXBwbGljYXRpb25OYW1lID0gcHJvcHMuYXBwbGljYXRpb25OYW1lO1xuICAgIHRoaXMubm9kZUFkZHJlc3MgPSBjZGsuTmFtZXMubm9kZVVuaXF1ZUlkKGFwcGxpY2F0aW9uLm5vZGUpO1xuXG4gICAgdGhpcy5hcHBsaWNhdGlvbk1hbmFnZXJVcmwgPVxuICAgICAgYGh0dHBzOi8vJHt0aGlzLmVudi5yZWdpb259LmNvbnNvbGUuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2FwcG1hbmFnZXIvYXBwbGljYXRpb24vQVdTX0FwcFJlZ2lzdHJ5X0FwcGxpY2F0aW9uLSR7dGhpcy5hcHBsaWNhdGlvbk5hbWV9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMubm9kZUFkZHJlc3MsIHJlc291cmNlQWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQXBwbGljYXRpb25Qcm9wcyhwcm9wczogQXBwbGljYXRpb25Qcm9wcykge1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIDEsIDI1NiwgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZVJlZ2V4KHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIC9eW2EtekEtWjAtOS1fXSskLywgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZUxlbmd0aCh0aGlzLm5vZGUucGF0aCwgJ2FwcGxpY2F0aW9uIGRlc2NyaXB0aW9uJywgMCwgMTAyNCwgcHJvcHMuZGVzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBdUQ7QUFDdkQsNkZBQWlJO0FBQ2pJLHNEQUF3QztBQUN4Qyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLGlFQUFrRTtBQUVsRSx1REFBbUQ7QUFFbkQscUNBQWdGO0FBQ2hGLDJDQUFzRDtBQUN0RCxxREFBc0Q7QUFFdEQsTUFBTSx3Q0FBd0MsR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxtRkFBbUYsQ0FBQztBQUM3SixNQUFNLDJDQUEyQyxHQUFHLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLDJGQUEyRixDQUFDO0FBZ0h4SyxNQUFlLGVBQWdCLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFJaEMseUJBQXlCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsbUJBQW1CLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFOUQ7Ozs7O09BS0c7SUFDSSx1QkFBdUIsQ0FBQyxjQUErQjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSw0REFBNEIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLE1BQU0sRUFBRSxFQUFFO2dCQUMzRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLGNBQWMsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO2FBQ2hELENBQUMsQ0FBQztZQUNILElB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QUF1QjtZQUN0RCwyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNqRywyQkFBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDNUcsMkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEc7O1lBMUVVLHVEQUFXOzs7OztBQUFYLGtDQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2VTaGFyZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yYW0nO1xuaW1wb3J0IHsgQ2ZuQXBwbGljYXRpb24sIENmbkF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb24sIENmblJlc291cmNlQXNzb2NpYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VydmljZWNhdGFsb2dhcHByZWdpc3RyeSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU3RhZ2VTdGFja0Fzc29jaWF0b3IgfSBmcm9tICcuL2FzcGVjdHMvc3RhY2stYXNzb2NpYXRvcic7XG5pbXBvcnQgdHlwZSB7IElBdHRyaWJ1dGVHcm91cCB9IGZyb20gJy4vYXR0cmlidXRlLWdyb3VwJztcbmltcG9ydCB7IEF0dHJpYnV0ZUdyb3VwIH0gZnJvbSAnLi9hdHRyaWJ1dGUtZ3JvdXAnO1xuaW1wb3J0IHR5cGUgeyBTaGFyZU9wdGlvbnMgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBnZXRQcmluY2lwYWxzZm9yU2hhcmluZywgaGFzaFZhbHVlcywgU2hhcmVQZXJtaXNzaW9uIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgaXNBY2NvdW50VW5yZXNvbHZlZCB9IGZyb20gJy4vcHJpdmF0ZS91dGlscyc7XG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRvciB9IGZyb20gJy4vcHJpdmF0ZS92YWxpZGF0aW9uJztcblxuY29uc3QgQVBQTElDQVRJT05fUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9IGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06cmFtOjphd3M6cGVybWlzc2lvbi9BV1NSQU1QZXJtaXNzaW9uU2VydmljZUNhdGFsb2dBcHBSZWdpc3RyeUFwcGxpY2F0aW9uUmVhZE9ubHlgO1xuY29uc3QgQVBQTElDQVRJT05fQUxMT1dfQUNDRVNTX1JBTV9QRVJNSVNTSU9OX0FSTiA9IGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06cmFtOjphd3M6cGVybWlzc2lvbi9BV1NSQU1QZXJtaXNzaW9uU2VydmljZUNhdGFsb2dBcHBSZWdpc3RyeUFwcGxpY2F0aW9uQWxsb3dBc3NvY2lhdGlvbmA7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXR0cmlidXRlIEdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgZm9yIGF0dHJpYnV0ZSBncm91cC5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZUdyb3VwTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBmb3IgYXR0cmlidXRlIGdyb3VwLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBKU09OIG9mIG5lc3RlZCBrZXktdmFsdWUgcGFpcnMgdGhhdCByZXByZXNlbnQgdGhlIGF0dHJpYnV0ZXMgaW4gdGhlIGdyb3VwLlxuICAgKiBBdHRyaWJ1dGVzIG1heWJlIGFuIGVtcHR5IEpTT04gJ3t9JywgYnV0IG11c3QgYmUgZXhwbGljaXRseSBzdGF0ZWQuXG4gICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKipcbiAqIEEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBsaWNhdGlvbiBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggYW4gYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXAgQXBwUmVnaXN0cnkgYXR0cmlidXRlIGdyb3VwXG4gICAqL1xuICBhc3NvY2lhdGVBdHRyaWJ1dGVHcm91cChhdHRyaWJ1dGVHcm91cDogSUF0dHJpYnV0ZUdyb3VwKTogdm9pZDtcblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGF0dHJpYnV0ZSBncm91cCBhbmQgYXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgY3JlYXRlZCBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBuYW1lIG9mIHRoZSBBdHRyaWJ1dGVHcm91cCBjb25zdHJ1Y3QgdG8gYmUgY3JlYXRlZC5cbiAgICogQHBhcmFtIGF0dHJpYnV0ZUdyb3VwUHJvcHMgQXBwUmVnaXN0cnkgYXR0cmlidXRlIGdyb3VwIHByb3BzXG4gICAqL1xuICBhZGRBdHRyaWJ1dGVHcm91cChpZDogc3RyaW5nLCBhdHRyaWJ1dGVHcm91cFByb3BzOiBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uUHJvcHMpOiBJQXR0cmlidXRlR3JvdXA7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggYSBDbG91ZEZvcm1hdGlvbiBzdGFjay5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBhc3NvY2lhdGVBcHBsaWNhdGlvbldpdGhTdGFja2AgaW5zdGVhZC5cbiAgICogQHBhcmFtIHN0YWNrIGEgQ0ZOIHN0YWNrXG4gICAqL1xuICBhc3NvY2lhdGVTdGFjayhzdGFjazogY2RrLlN0YWNrKTogdm9pZDtcblxuICAvKipcbiAgICogQXNzb2NpYXRlIGEgQ2xvdWRmb3JtYXRpb24gc3RhY2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIGdpdmVuIHN0YWNrLlxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXBwbGljYXRpb24oaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIGFsbCBzdGFja3MgdW5kZXIgdGhlIGNvbnN0cnVjdCBub2RlLlxuICAgKiBOT1RFOiBUaGlzIG1ldGhvZCB3b24ndCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHN0YWNrcyB1bmRlciBwaXBlbGluZSBzdGFnZXMsXG4gICAqIGFuZCByZXF1aXJlcyBhc3NvY2lhdGlvbiBvZiBlYWNoIHBpcGVsaW5lIHN0YWdlIGJ5IGNhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBzdGFnZSBDb25zdHJ1Y3QuXG4gICAqXG4gICAqIEBwYXJhbSBjb25zdHJ1Y3QgY2RrIENvbnN0cnVjdFxuICAgKi9cbiAgYXNzb2NpYXRlQWxsU3RhY2tzSW5TY29wZShjb25zdHJ1Y3Q6IENvbnN0cnVjdCk6IHZvaWQ7XG5cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBcHBsaWNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gZm9yIGFwcGxpY2F0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgQXBwbGljYXRpb25CYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSUFwcGxpY2F0aW9uIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFwcGxpY2F0aW9uQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3VwczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZFJlc291cmNlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBhbiBhdHRyaWJ1dGUgZ3JvdXAgd2l0aCBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgYXR0cmlidXRlIGdyb3VwIGlzIGFscmVhZHkgYXNzb2NpYXRlZCwgaXQgd2lsbCBpZ25vcmUgZHVwbGljYXRlIHJlcXVlc3QuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgQXR0cmlidXRlR3JvdXAuYXNzb2NpYXRlV2l0aGAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBdHRyaWJ1dGVHcm91cChhdHRyaWJ1dGVHcm91cDogSUF0dHJpYnV0ZUdyb3VwKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRBdHRyaWJ1dGVHcm91cHMuaGFzKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcikpIHtcbiAgICAgIGNvbnN0IGhhc2hJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVIYXNoKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcik7XG4gICAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7aGFzaElkfWAsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHRoaXMuYXBwbGljYXRpb25JZCxcbiAgICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3Vwcy5hZGQoYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGF0dHJpYnV0ZSBncm91cCBhbmQgYXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgY3JlYXRlZCBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYWRkQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgcHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cCB7XG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXAgPSBuZXcgQXR0cmlidXRlR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGF0dHJpYnV0ZUdyb3VwTmFtZTogcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lLFxuICAgICAgYXR0cmlidXRlczogcHJvcHMuYXR0cmlidXRlcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcbiAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7dGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKX1gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgfSk7XG4gICAgdGhpcy5hc3NvY2lhdGVkQXR0cmlidXRlR3JvdXBzLmFkZChhdHRyaWJ1dGVHcm91cC5ub2RlLmFkZHIpO1xuICAgIHJldHVybiBhdHRyaWJ1dGVHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBzdGFjayB3aXRoIHRoZSBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgcmVzb3VyY2UgaXMgYWxyZWFkeSBhc3NvY2lhdGVkLCBpdCB3aWxsIGlnbm9yZSBkdXBsaWNhdGUgcmVxdWVzdC5cbiAgICogQSBzdGFjayBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggb25lIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5oYXMoc3RhY2subm9kZS5hZGRyKSkge1xuICAgICAgY29uc3QgaGFzaElkID0gdGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHRoaXMsIGBSZXNvdXJjZUFzc29jaWF0aW9uJHtoYXNoSWR9YCwge1xuICAgICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgICByZXNvdXJjZTogc3RhY2suc3RhY2tJZCxcbiAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ0ZOX1NUQUNLJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hc3NvY2lhdGVkUmVzb3VyY2VzLmFkZChzdGFjay5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgc3RhY2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIHN0YWNrIHBhc3NlZCBhcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEEgc3RhY2sgY2FuIG9ubHkgYmUgYXNzb2NpYXRlZCB3aXRoIG9uZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBcHBsaWNhdGlvbldpdGhTdGFjayhzdGFjazogY2RrLlN0YWNrKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSZXNvdXJjZXMuaGFzKHN0YWNrLm5vZGUuYWRkcikpIHtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHN0YWNrLCAnQXBwUmVnaXN0cnlBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHN0YWNrID09PSBjZGsuU3RhY2sub2YodGhpcykgPyB0aGlzLmFwcGxpY2F0aW9uSWQgOiB0aGlzLmFwcGxpY2F0aW9uTmFtZSA/PyB0aGlzLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIHJlc291cmNlOiBzdGFjay5zdGFja0lkLFxuICAgICAgICByZXNvdXJjZVR5cGU6ICdDRk5fU1RBQ0snLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5hZGQoc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIGlmIChzdGFjayAhPT0gY2RrLlN0YWNrLm9mKHRoaXMpICYmIHRoaXMuaXNTYW1lQWNjb3VudChzdGFjaykgJiYgIXRoaXMuaXNTdGFnZVNjb3BlKHN0YWNrKSAmJiAhc3RhY2submVzdGVkKSB7XG4gICAgICAgIHN0YWNrLmFkZFN0YWNrRGVwZW5kZW5jeShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaGFyZSBhbiBhcHBsaWNhdGlvbiB3aXRoIGFjY291bnRzLCBvcmdhbml6YXRpb25zIGFuZCBPVXMsIGFuZCBJQU0gcm9sZXMgYW5kIHVzZXJzLlxuICAgKiBUaGUgYXBwbGljYXRpb24gd2lsbCBiZWNvbWUgYXZhaWxhYmxlIHRvIGVuZCB1c2VycyB3aXRoaW4gdGhvc2UgcHJpbmNpcGFscy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgbmFtZSBmb3IgdGhlIHNoYXJlLlxuICAgKiBAcGFyYW0gc2hhcmVPcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgc2hhcmUuXG4gICAqL1xuICBwdWJsaWMgc2hhcmVBcHBsaWNhdGlvbihpZDogc3RyaW5nLCBzaGFyZU9wdGlvbnM6IFNoYXJlT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHByaW5jaXBhbHMgPSBnZXRQcmluY2lwYWxzZm9yU2hhcmluZyhzaGFyZU9wdGlvbnMpO1xuICAgIG5ldyBDZm5SZXNvdXJjZVNoYXJlKHRoaXMsIGlkLCB7XG4gICAgICBuYW1lOiBzaGFyZU9wdGlvbnMubmFtZSxcbiAgICAgIGFsbG93RXh0ZXJuYWxQcmluY2lwYWxzOiBmYWxzZSxcbiAgICAgIHByaW5jaXBhbHM6IHByaW5jaXBhbHMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmFwcGxpY2F0aW9uQXJuXSxcbiAgICAgIHBlcm1pc3Npb25Bcm5zOiBbdGhpcy5nZXRBcHBsaWNhdGlvblNoYXJlUGVybWlzc2lvbkFSTihzaGFyZU9wdGlvbnMpXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYWxsIHN0YWNrcyBwcmVzZW50IGluIGNvbnN0cnVjdCdzIGFzcGVjdCB3aXRoIGFwcGxpY2F0aW9uLCBpbmNsdWRpbmcgY3Jvc3MtYWNjb3VudCBzdGFja3MuXG4gICAqXG4gICAqIE5PVEU6IFRoaXMgbWV0aG9kIHdvbid0IGF1dG9tYXRpY2FsbHkgcmVnaXN0ZXIgc3RhY2tzIHVuZGVyIHBpcGVsaW5lIHN0YWdlcyxcbiAgICogYW5kIHJlcXVpcmVzIGFzc29jaWF0aW9uIG9mIGVhY2ggcGlwZWxpbmUgc3RhZ2UgYnkgY2FsbGluZyB0aGlzIG1ldGhvZCB3aXRoIHN0YWdlIENvbnN0cnVjdC5cbiAgICpcbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBbGxTdGFja3NJblNjb3BlKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjZGsuQXNwZWN0cy5vZihzY29wZSkuYWRkKG5ldyBTdGFnZVN0YWNrQXNzb2NpYXRvcih0aGlzLCB7XG4gICAgICBhc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3M6IHRydWUsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHVuaXF1ZSBpZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdlbmVyYXRlVW5pcXVlSGFzaChyZXNvdXJjZUFkZHJlc3M6IHN0cmluZyk6IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IHRoZSBjb3JyZWN0IHBlcm1pc3Npb24gQVJOIGJhc2VkIG9uIHRoZSBTaGFyZVBlcm1pc3Npb25cbiAgICovXG4gIHByaXZhdGUgZ2V0QXBwbGljYXRpb25TaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbikge1xuICAgICAgY2FzZSBTaGFyZVBlcm1pc3Npb24uQUxMT1dfQUNDRVNTOlxuICAgICAgICByZXR1cm4gQVBQTElDQVRJT05fQUxMT1dfQUNDRVNTX1JBTV9QRVJNSVNTSU9OX0FSTjtcbiAgICAgIGNhc2UgU2hhcmVQZXJtaXNzaW9uLlJFQURfT05MWTpcbiAgICAgICAgcmV0dXJuIEFQUExJQ0FUSU9OX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzaGFyZU9wdGlvbnMuc2hhcmVQZXJtaXNzaW9uID8/IEFQUExJQ0FUSU9OX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDaGVja3Mgd2hldGhlciBhIHN0YWNrIGlzIGRlZmluZWQgaW4gYSBTdGFnZSBvciBub3QuXG4gICAqL1xuICBwcml2YXRlIGlzU3RhZ2VTY29wZShzdGFjayA6IGNkay5TdGFjayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKHN0YWNrLm5vZGUuc2NvcGUgaW5zdGFuY2VvZiBjZGsuQXBwKSAmJiAoc3RhY2subm9kZS5zY29wZSBpbnN0YW5jZW9mIGNkay5TdGFnZSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgaWYgYXBwbGljYXRpb24gYW5kIHRoZSB2aXNpdGVkIG5vZGUgaXMgZGVwbG95ZWQgaW4gZGlmZmVyZW50IGFjY291bnQuXG4gICAqL1xuICBwcml2YXRlIGlzU2FtZUFjY291bnQoc3RhY2s6IGNkay5TdGFjayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0FjY291bnRVbnJlc29sdmVkKHRoaXMuZW52LmFjY291bnQsIHN0YWNrLmFjY291bnQpIHx8IHRoaXMuZW52LmFjY291bnQgPT09IHN0YWNrLmFjY291bnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBcHBsaWNhdGlvbi5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uIGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3Mtc2VydmljZWNhdGFsb2dhcHByZWdpc3RyeS1hbHBoYS5BcHBsaWNhdGlvbic7XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gQXBwbGljYXRpb24gY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYCkuXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIGFwcGxpY2F0aW9uQXJuIHRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSBvZiB0aGUgZXhpc3RpbmcgQXBwUmVnaXN0cnkgQXBwbGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwcGxpY2F0aW9uQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFwcGxpY2F0aW9uQXJuOiBzdHJpbmcpOiBJQXBwbGljYXRpb24ge1xuICAgIGNvbnN0IGFybiA9IGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXBwbGljYXRpb25Bcm4sIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgY29uc3QgYXBwbGljYXRpb25JZCA9IGFybi5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWFwcGxpY2F0aW9uSWQpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAY2RrbGFicy9uby10aHJvdy1kZWZhdWx0LWVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgQXBwbGljYXRpb24gSUQgZnJvbSBBcHBsaWNhdGlvbiBBUk46ICcgKyBhcHBsaWNhdGlvbkFybik7XG4gICAgfVxuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbkFybiA9IGFwcGxpY2F0aW9uQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQgPSBhcHBsaWNhdGlvbklkITtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbk5hbWUgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLmFwcGxpY2F0aW9uQXJuLCByZXNvdXJjZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBhcHBsaWNhdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiBtYW5hZ2VyIFVSTCBmb3IgdGhlIEFwcGxpY2F0aW9uLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25NYW5hZ2VyVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBub2RlQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcHBsaWNhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMudmFsaWRhdGVBcHBsaWNhdGlvblByb3BzKHByb3BzKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gbmV3IENmbkFwcGxpY2F0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmFwcGxpY2F0aW9uTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25Bcm4gPSBhcHBsaWNhdGlvbi5hdHRyQXJuO1xuICAgIHRoaXMuYXBwbGljYXRpb25JZCA9IGFwcGxpY2F0aW9uLmF0dHJJZDtcbiAgICB0aGlzLmFwcGxpY2F0aW9uTmFtZSA9IHByb3BzLmFwcGxpY2F0aW9uTmFtZTtcbiAgICB0aGlzLm5vZGVBZGRyZXNzID0gY2RrLk5hbWVzLm5vZGVVbmlxdWVJZChhcHBsaWNhdGlvbi5ub2RlKTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25NYW5hZ2VyVXJsID1cbiAgICAgIGBodHRwczovLyR7dGhpcy5lbnYucmVnaW9ufS5jb25zb2xlLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9hcHBtYW5hZ2VyL2FwcGxpY2F0aW9uL0FXU19BcHBSZWdpc3RyeV9BcHBsaWNhdGlvbi0ke3RoaXMuYXBwbGljYXRpb25OYW1lfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVVbmlxdWVIYXNoKHJlc291cmNlQWRkcmVzczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLm5vZGVBZGRyZXNzLCByZXNvdXJjZUFkZHJlc3MpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFwcGxpY2F0aW9uUHJvcHMocHJvcHM6IEFwcGxpY2F0aW9uUHJvcHMpIHtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZUxlbmd0aCh0aGlzLm5vZGUucGF0aCwgJ2FwcGxpY2F0aW9uIG5hbWUnLCAxLCAyNTYsIHByb3BzLmFwcGxpY2F0aW9uTmFtZSk7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVSZWdleCh0aGlzLm5vZGUucGF0aCwgJ2FwcGxpY2F0aW9uIG5hbWUnLCAvXlthLXpBLVowLTktX10rJC8sIHByb3BzLmFwcGxpY2F0aW9uTmFtZSk7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVMZW5ndGgodGhpcy5ub2RlLnBhdGgsICdhcHBsaWNhdGlvbiBkZXNjcmlwdGlvbicsIDAsIDEwMjQsIHByb3BzLmRlc2NyaXB0aW9uKTtcbiAgfVxufVxuIl19
@@ -132,7 +132,7 @@ let AttributeGroup = (() => {
132
132
  AttributeGroup = _classThis = _classDescriptor.value;
133
133
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
134
134
  }
135
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.261.0-alpha.0" };
135
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.262.0-alpha.0" };
136
136
  /** Uniquely identifies this class. */
137
137
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-servicecatalogappregistry-alpha.AttributeGroup';
138
138
  /**
@@ -44,7 +44,7 @@ const common_1 = require("./common");
44
44
  * needed for application associator to work
45
45
  */
46
46
  class TargetApplication {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.TargetApplication", version: "2.261.0-alpha.0" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.TargetApplication", version: "2.262.0-alpha.0" };
48
48
  /**
49
49
  * Factory method to build the input using the provided
50
50
  * application ARN.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-servicecatalogappregistry-alpha",
3
- "version": "2.261.0-alpha.0",
3
+ "version": "2.262.0-alpha.0",
4
4
  "description": "The CDK Construct Library for AWS::ServiceCatalogAppRegistry",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -83,17 +83,17 @@
83
83
  },
84
84
  "license": "Apache-2.0",
85
85
  "devDependencies": {
86
- "@aws-cdk/cdk-build-tools": "2.261.0-alpha.0",
87
- "@aws-cdk/integ-runner": "^2.199.0",
88
- "@aws-cdk/pkglint": "2.261.0-alpha.0",
86
+ "@aws-cdk/cdk-build-tools": "2.262.0-alpha.0",
87
+ "@aws-cdk/integ-runner": "^2.202.3",
88
+ "@aws-cdk/pkglint": "2.262.0-alpha.0",
89
89
  "@types/jest": "^29.5.14",
90
- "aws-cdk-lib": "2.261.0",
90
+ "aws-cdk-lib": "2.262.0",
91
91
  "constructs": "^10.5.0",
92
- "@aws-cdk/integ-tests-alpha": "2.261.0-alpha.0"
92
+ "@aws-cdk/integ-tests-alpha": "2.262.0-alpha.0"
93
93
  },
94
94
  "dependencies": {},
95
95
  "peerDependencies": {
96
- "aws-cdk-lib": "^2.261.0",
96
+ "aws-cdk-lib": "^2.262.0",
97
97
  "constructs": "^10.5.0"
98
98
  },
99
99
  "engines": {