@flit/cdk-bucket-mesh 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -16,8 +16,8 @@
16
16
  }
17
17
  ],
18
18
  "dependencies": {
19
- "aws-cdk-lib": "^2.232.0",
20
- "constructs": "^10.4.3"
19
+ "aws-cdk-lib": "^2.233.0",
20
+ "constructs": "^10.4.0"
21
21
  },
22
22
  "dependencyClosure": {
23
23
  "@aws-cdk/asset-awscli-v1": {
@@ -650,6 +650,19 @@
650
650
  }
651
651
  }
652
652
  },
653
+ "aws-cdk-lib.aws_cases": {
654
+ "targets": {
655
+ "dotnet": {
656
+ "namespace": "Amazon.CDK.AWS.Cases"
657
+ },
658
+ "java": {
659
+ "package": "software.amazon.awscdk.services.cases"
660
+ },
661
+ "python": {
662
+ "module": "aws_cdk.aws_cases"
663
+ }
664
+ }
665
+ },
653
666
  "aws-cdk-lib.aws_cassandra": {
654
667
  "targets": {
655
668
  "dotnet": {
@@ -2601,6 +2614,19 @@
2601
2614
  }
2602
2615
  }
2603
2616
  },
2617
+ "aws-cdk-lib.aws_mwaaserverless": {
2618
+ "targets": {
2619
+ "dotnet": {
2620
+ "namespace": "Amazon.CDK.AWS.MWAAServerless"
2621
+ },
2622
+ "java": {
2623
+ "package": "software.amazon.awscdk.services.mwaaserverless"
2624
+ },
2625
+ "python": {
2626
+ "module": "aws_cdk.aws_mwaaserverless"
2627
+ }
2628
+ }
2629
+ },
2604
2630
  "aws-cdk-lib.aws_neptune": {
2605
2631
  "targets": {
2606
2632
  "dotnet": {
@@ -4614,6 +4640,22 @@
4614
4640
  }
4615
4641
  }
4616
4642
  },
4643
+ "aws-cdk-lib.interfaces.aws_cases": {
4644
+ "targets": {
4645
+ "dotnet": {
4646
+ "namespace": "Amazon.CDK.Interfaces.Cases"
4647
+ },
4648
+ "go": {
4649
+ "packageName": "interfacesawscases"
4650
+ },
4651
+ "java": {
4652
+ "package": "software.amazon.awscdk.interfaces.cases"
4653
+ },
4654
+ "python": {
4655
+ "module": "aws_cdk.interfaces.aws_cases"
4656
+ }
4657
+ }
4658
+ },
4617
4659
  "aws-cdk-lib.interfaces.aws_cassandra": {
4618
4660
  "targets": {
4619
4661
  "dotnet": {
@@ -6790,6 +6832,22 @@
6790
6832
  }
6791
6833
  }
6792
6834
  },
6835
+ "aws-cdk-lib.interfaces.aws_mwaaserverless": {
6836
+ "targets": {
6837
+ "dotnet": {
6838
+ "namespace": "Amazon.CDK.Interfaces.MWAAServerless"
6839
+ },
6840
+ "go": {
6841
+ "packageName": "interfacesawsmwaaserverless"
6842
+ },
6843
+ "java": {
6844
+ "package": "software.amazon.awscdk.interfaces.mwaaserverless"
6845
+ },
6846
+ "python": {
6847
+ "module": "aws_cdk.interfaces.aws_mwaaserverless"
6848
+ }
6849
+ }
6850
+ },
6793
6851
  "aws-cdk-lib.interfaces.aws_neptune": {
6794
6852
  "targets": {
6795
6853
  "dotnet": {
@@ -8449,7 +8507,7 @@
8449
8507
  "stability": "stable"
8450
8508
  },
8451
8509
  "homepage": "https://github.com/vierroth/cdk-bucket-mesh",
8452
- "jsiiVersion": "5.9.14 (build 9fc28bd)",
8510
+ "jsiiVersion": "5.9.26 (build f85d3df)",
8453
8511
  "keywords": [
8454
8512
  "aws",
8455
8513
  "cdk",
@@ -8502,7 +8560,7 @@
8502
8560
  },
8503
8561
  "locationInModule": {
8504
8562
  "filename": "src/bucket-mesh/index.ts",
8505
- "line": 42
8563
+ "line": 43
8506
8564
  },
8507
8565
  "parameters": [
8508
8566
  {
@@ -8528,7 +8586,7 @@
8528
8586
  "kind": "class",
8529
8587
  "locationInModule": {
8530
8588
  "filename": "src/bucket-mesh/index.ts",
8531
- "line": 41
8589
+ "line": 42
8532
8590
  },
8533
8591
  "name": "BucketMesh",
8534
8592
  "symbolId": "src/bucket-mesh/index:BucketMesh"
@@ -8543,7 +8601,7 @@
8543
8601
  "kind": "interface",
8544
8602
  "locationInModule": {
8545
8603
  "filename": "src/bucket-mesh/index.ts",
8546
- "line": 34
8604
+ "line": 35
8547
8605
  },
8548
8606
  "name": "BucketMeshProps",
8549
8607
  "properties": [
@@ -8555,7 +8613,7 @@
8555
8613
  "immutable": true,
8556
8614
  "locationInModule": {
8557
8615
  "filename": "src/bucket-mesh/index.ts",
8558
- "line": 35
8616
+ "line": 36
8559
8617
  },
8560
8618
  "name": "buckets",
8561
8619
  "type": {
@@ -8571,6 +8629,6 @@
8571
8629
  "symbolId": "src/bucket-mesh/index:BucketMeshProps"
8572
8630
  }
8573
8631
  },
8574
- "version": "0.2.0",
8575
- "fingerprint": "WB1gbHebUHqBizDaG3EMruVrm/Cgk80TcXqMxQUAPM4="
8632
+ "version": "0.3.1",
8633
+ "fingerprint": "/5Ya6Q+zisS8HdG5v7lTXp6JqGN8z46A97fzSjW8GQQ="
8576
8634
  }
@@ -16,6 +16,7 @@ class BucketMeshResource extends aws_cdk_lib_1.CustomResource {
16
16
  buckets: props.buckets.map((b) => ({
17
17
  name: b.bucketName,
18
18
  region: aws_cdk_lib_1.Stack.of(b).region,
19
+ accountId: aws_cdk_lib_1.Stack.of(b).account,
19
20
  })),
20
21
  replicationRoleArn: props.role.roleArn,
21
22
  },
@@ -36,6 +37,22 @@ class BucketMesh extends constructs_1.Construct {
36
37
  actions: ["s3:GetReplicationConfiguration", "s3:ListBucket"],
37
38
  resources: props.buckets.map(({ bucketArn }) => bucketArn),
38
39
  }));
40
+ replicationRole.addToPolicy(new aws_iam_1.PolicyStatement({
41
+ effect: aws_iam_1.Effect.ALLOW,
42
+ actions: [
43
+ "s3:GetObjectVersion",
44
+ "s3:GetObjectVersionAcl",
45
+ "s3:GetObjectVersionTagging",
46
+ "s3:GetObjectVersionForReplication",
47
+ "s3:GetObjectRetention",
48
+ "s3:GetObjectLegalHold",
49
+ "s3:ReplicateObject",
50
+ "s3:ReplicateDelete",
51
+ "s3:ReplicateTags",
52
+ "s3:ObjectOwnerOverrideToBucketOwner",
53
+ ],
54
+ resources: props.buckets.map(({ bucketArn }) => `${bucketArn}/*`),
55
+ }));
39
56
  new BucketMeshResource(this, "Resource", {
40
57
  buckets: props.buckets,
41
58
  role: replicationRole,
@@ -44,5 +61,5 @@ class BucketMesh extends constructs_1.Construct {
44
61
  }
45
62
  exports.BucketMesh = BucketMesh;
46
63
  _a = JSII_RTTI_SYMBOL_1;
47
- BucketMesh[_a] = { fqn: "@flit/cdk-bucket-mesh.BucketMesh", version: "0.2.0" };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0LW1lc2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQW9EO0FBRXBELGlEQUs2QjtBQUU3Qix5Q0FBc0M7QUFPdEMsTUFBTSxrQkFBbUIsU0FBUSw0QkFBYztJQUM5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsWUFBWSxFQUFFLG1CQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEUsVUFBVSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVO29CQUNsQixNQUFNLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtpQkFDMUIsQ0FBQyxDQUFDO2dCQUNILGtCQUFrQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTzthQUN0QztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRDtBQU1EOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFDeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBSSxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUMvRCxTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztTQUNuRCxDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsV0FBVyxDQUMxQixJQUFJLHlCQUFlLENBQUM7WUFDbkIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxlQUFlLENBQUM7WUFDNUQsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQzFELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixJQUFJLEVBQUUsZUFBZTtTQUNyQixDQUFDLENBQUM7SUFDSixDQUFDOztBQXBCRixnQ0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge1xuXHRFZmZlY3QsXG5cdFBvbGljeVN0YXRlbWVudCxcblx0Um9sZSxcblx0U2VydmljZVByaW5jaXBhbCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcblxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiO1xuXG5pbnRlcmZhY2UgQnVja2V0TWVzaFJlc291cmNlUHJvcHMge1xuXHRyZWFkb25seSBidWNrZXRzOiBCdWNrZXRbXTtcblx0cmVhZG9ubHkgcm9sZTogUm9sZTtcbn1cblxuY2xhc3MgQnVja2V0TWVzaFJlc291cmNlIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuXHRjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVja2V0TWVzaFJlc291cmNlUHJvcHMpIHtcblx0XHRzdXBlcihzY29wZSwgaWQsIHtcblx0XHRcdHJlc291cmNlVHlwZTogXCJDdXN0b206OkJ1Y2tldE1lc2hcIixcblx0XHRcdHNlcnZpY2VUb2tlbjogUHJvdmlkZXIuZ2V0T3JDcmVhdGUoc2NvcGUsIHByb3BzLmJ1Y2tldHMsIHByb3BzLnJvbGUpLFxuXHRcdFx0cHJvcGVydGllczoge1xuXHRcdFx0XHRidWNrZXRzOiBwcm9wcy5idWNrZXRzLm1hcCgoYikgPT4gKHtcblx0XHRcdFx0XHRuYW1lOiBiLmJ1Y2tldE5hbWUsXG5cdFx0XHRcdFx0cmVnaW9uOiBTdGFjay5vZihiKS5yZWdpb24sXG5cdFx0XHRcdH0pKSxcblx0XHRcdFx0cmVwbGljYXRpb25Sb2xlQXJuOiBwcm9wcy5yb2xlLnJvbGVBcm4sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0TWVzaFByb3BzIHtcblx0cmVhZG9ubHkgYnVja2V0czogQnVja2V0W107XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IENvbnN0cnVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldE1lc2ggZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXHRjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVja2V0TWVzaFByb3BzKSB7XG5cdFx0c3VwZXIoc2NvcGUsIGlkKTtcblxuXHRcdGNvbnN0IHJlcGxpY2F0aW9uUm9sZSA9IG5ldyBSb2xlKHRoaXMsIFwiQnVja2V0UmVwbGljYXRpb25Sb2xlXCIsIHtcblx0XHRcdGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJzMy5hbWF6b25hd3MuY29tXCIpLFxuXHRcdH0pO1xuXG5cdFx0cmVwbGljYXRpb25Sb2xlLmFkZFRvUG9saWN5KFxuXHRcdFx0bmV3IFBvbGljeVN0YXRlbWVudCh7XG5cdFx0XHRcdGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuXHRcdFx0XHRhY3Rpb25zOiBbXCJzMzpHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIiwgXCJzMzpMaXN0QnVja2V0XCJdLFxuXHRcdFx0XHRyZXNvdXJjZXM6IHByb3BzLmJ1Y2tldHMubWFwKCh7IGJ1Y2tldEFybiB9KSA9PiBidWNrZXRBcm4pLFxuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdG5ldyBCdWNrZXRNZXNoUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG5cdFx0XHRidWNrZXRzOiBwcm9wcy5idWNrZXRzLFxuXHRcdFx0cm9sZTogcmVwbGljYXRpb25Sb2xlLFxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
64
+ BucketMesh[_a] = { fqn: "@flit/cdk-bucket-mesh.BucketMesh", version: "0.3.1" };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0LW1lc2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQW9EO0FBRXBELGlEQUs2QjtBQUU3Qix5Q0FBc0M7QUFPdEMsTUFBTSxrQkFBbUIsU0FBUSw0QkFBYztJQUM5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsWUFBWSxFQUFFLG1CQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEUsVUFBVSxFQUFFO2dCQUNYLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVO29CQUNsQixNQUFNLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtvQkFDMUIsU0FBUyxFQUFFLG1CQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87aUJBQzlCLENBQUMsQ0FBQztnQkFDSCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU87YUFDdEM7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Q7QUFNRDs7R0FFRztBQUNILE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBQ3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDL0QsU0FBUyxFQUFFLElBQUksMEJBQWdCLENBQUMsa0JBQWtCLENBQUM7U0FDbkQsQ0FBQyxDQUFDO1FBRUgsZUFBZSxDQUFDLFdBQVcsQ0FDMUIsSUFBSSx5QkFBZSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsZUFBZSxDQUFDO1lBQzVELFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUMxRCxDQUFDLENBQ0YsQ0FBQztRQUVGLGVBQWUsQ0FBQyxXQUFXLENBQzFCLElBQUkseUJBQWUsQ0FBQztZQUNuQixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRTtnQkFDUixxQkFBcUI7Z0JBQ3JCLHdCQUF3QjtnQkFDeEIsNEJBQTRCO2dCQUM1QixtQ0FBbUM7Z0JBQ25DLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixvQkFBb0I7Z0JBQ3BCLG9CQUFvQjtnQkFDcEIsa0JBQWtCO2dCQUNsQixxQ0FBcUM7YUFDckM7WUFDRCxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxDQUFDO1NBQ2pFLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixJQUFJLEVBQUUsZUFBZTtTQUNyQixDQUFDLENBQUM7SUFDSixDQUFDOztBQXZDRixnQ0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge1xuXHRFZmZlY3QsXG5cdFBvbGljeVN0YXRlbWVudCxcblx0Um9sZSxcblx0U2VydmljZVByaW5jaXBhbCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcblxuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiO1xuXG5pbnRlcmZhY2UgQnVja2V0TWVzaFJlc291cmNlUHJvcHMge1xuXHRyZWFkb25seSBidWNrZXRzOiBCdWNrZXRbXTtcblx0cmVhZG9ubHkgcm9sZTogUm9sZTtcbn1cblxuY2xhc3MgQnVja2V0TWVzaFJlc291cmNlIGV4dGVuZHMgQ3VzdG9tUmVzb3VyY2Uge1xuXHRjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVja2V0TWVzaFJlc291cmNlUHJvcHMpIHtcblx0XHRzdXBlcihzY29wZSwgaWQsIHtcblx0XHRcdHJlc291cmNlVHlwZTogXCJDdXN0b206OkJ1Y2tldE1lc2hcIixcblx0XHRcdHNlcnZpY2VUb2tlbjogUHJvdmlkZXIuZ2V0T3JDcmVhdGUoc2NvcGUsIHByb3BzLmJ1Y2tldHMsIHByb3BzLnJvbGUpLFxuXHRcdFx0cHJvcGVydGllczoge1xuXHRcdFx0XHRidWNrZXRzOiBwcm9wcy5idWNrZXRzLm1hcCgoYikgPT4gKHtcblx0XHRcdFx0XHRuYW1lOiBiLmJ1Y2tldE5hbWUsXG5cdFx0XHRcdFx0cmVnaW9uOiBTdGFjay5vZihiKS5yZWdpb24sXG5cdFx0XHRcdFx0YWNjb3VudElkOiBTdGFjay5vZihiKS5hY2NvdW50LFxuXHRcdFx0XHR9KSksXG5cdFx0XHRcdHJlcGxpY2F0aW9uUm9sZUFybjogcHJvcHMucm9sZS5yb2xlQXJuLFxuXHRcdFx0fSxcblx0XHR9KTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldE1lc2hQcm9wcyB7XG5cdHJlYWRvbmx5IGJ1Y2tldHM6IEJ1Y2tldFtdO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBDb25zdHJ1Y3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWNrZXRNZXNoIGV4dGVuZHMgQ29uc3RydWN0IHtcblx0Y29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1Y2tldE1lc2hQcm9wcykge1xuXHRcdHN1cGVyKHNjb3BlLCBpZCk7XG5cblx0XHRjb25zdCByZXBsaWNhdGlvblJvbGUgPSBuZXcgUm9sZSh0aGlzLCBcIkJ1Y2tldFJlcGxpY2F0aW9uUm9sZVwiLCB7XG5cdFx0XHRhc3N1bWVkQnk6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwiczMuYW1hem9uYXdzLmNvbVwiKSxcblx0XHR9KTtcblxuXHRcdHJlcGxpY2F0aW9uUm9sZS5hZGRUb1BvbGljeShcblx0XHRcdG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuXHRcdFx0XHRlZmZlY3Q6IEVmZmVjdC5BTExPVyxcblx0XHRcdFx0YWN0aW9uczogW1wiczM6R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uXCIsIFwiczM6TGlzdEJ1Y2tldFwiXSxcblx0XHRcdFx0cmVzb3VyY2VzOiBwcm9wcy5idWNrZXRzLm1hcCgoeyBidWNrZXRBcm4gfSkgPT4gYnVja2V0QXJuKSxcblx0XHRcdH0pLFxuXHRcdCk7XG5cblx0XHRyZXBsaWNhdGlvblJvbGUuYWRkVG9Qb2xpY3koXG5cdFx0XHRuZXcgUG9saWN5U3RhdGVtZW50KHtcblx0XHRcdFx0ZWZmZWN0OiBFZmZlY3QuQUxMT1csXG5cdFx0XHRcdGFjdGlvbnM6IFtcblx0XHRcdFx0XHRcInMzOkdldE9iamVjdFZlcnNpb25cIixcblx0XHRcdFx0XHRcInMzOkdldE9iamVjdFZlcnNpb25BY2xcIixcblx0XHRcdFx0XHRcInMzOkdldE9iamVjdFZlcnNpb25UYWdnaW5nXCIsXG5cdFx0XHRcdFx0XCJzMzpHZXRPYmplY3RWZXJzaW9uRm9yUmVwbGljYXRpb25cIixcblx0XHRcdFx0XHRcInMzOkdldE9iamVjdFJldGVudGlvblwiLFxuXHRcdFx0XHRcdFwiczM6R2V0T2JqZWN0TGVnYWxIb2xkXCIsXG5cdFx0XHRcdFx0XCJzMzpSZXBsaWNhdGVPYmplY3RcIixcblx0XHRcdFx0XHRcInMzOlJlcGxpY2F0ZURlbGV0ZVwiLFxuXHRcdFx0XHRcdFwiczM6UmVwbGljYXRlVGFnc1wiLFxuXHRcdFx0XHRcdFwiczM6T2JqZWN0T3duZXJPdmVycmlkZVRvQnVja2V0T3duZXJcIixcblx0XHRcdFx0XSxcblx0XHRcdFx0cmVzb3VyY2VzOiBwcm9wcy5idWNrZXRzLm1hcCgoeyBidWNrZXRBcm4gfSkgPT4gYCR7YnVja2V0QXJufS8qYCksXG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0bmV3IEJ1Y2tldE1lc2hSZXNvdXJjZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcblx0XHRcdGJ1Y2tldHM6IHByb3BzLmJ1Y2tldHMsXG5cdFx0XHRyb2xlOiByZXBsaWNhdGlvblJvbGUsXG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==