cdk-dms-replication 0.0.16 → 0.1.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 +122 -122
- package/API.md +36 -24
- package/README.md +1 -1
- package/lib/dms-roles.d.ts +15 -9
- package/lib/dms-roles.js +87 -27
- package/lib/endpoint.js +1 -1
- package/lib/migration-pipeline.d.ts +12 -9
- package/lib/migration-pipeline.js +6 -5
- package/lib/replication-instance.js +1 -1
- package/lib/replication-task.js +1 -1
- package/lib/serverless-pipeline.d.ts +16 -9
- package/lib/serverless-pipeline.js +6 -4
- package/lib/table-mappings.js +1 -1
- package/lib/task-settings.js +1 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -349,8 +349,8 @@ Any object.
|
|
|
349
349
|
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.replicationTask">replicationTask</a></code> | <code><a href="#cdk-dms-replication.DmsReplicationTask">DmsReplicationTask</a></code> | The replication task that drives the migration. |
|
|
350
350
|
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.source">source</a></code> | <code><a href="#cdk-dms-replication.IDmsEndpoint">IDmsEndpoint</a></code> | The source endpoint used by this pipeline. |
|
|
351
351
|
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.target">target</a></code> | <code><a href="#cdk-dms-replication.IDmsEndpoint">IDmsEndpoint</a></code> | The target endpoint used by this pipeline. |
|
|
352
|
-
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.dmsCloudWatchRole">dmsCloudWatchRole</a></code> | <code>
|
|
353
|
-
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.dmsVpcRole">dmsVpcRole</a></code> | <code>
|
|
352
|
+
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.dmsCloudWatchRole">dmsCloudWatchRole</a></code> | <code>constructs.Construct</code> | Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`. |
|
|
353
|
+
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.dmsVpcRole">dmsVpcRole</a></code> | <code>constructs.Construct</code> | Construct wrapping the custom resources that created the `dms-vpc-role`. |
|
|
354
354
|
| <code><a href="#cdk-dms-replication.DmsMigrationPipeline.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.LogGroup</code> | CloudWatch log group for the task (if enableCloudWatchLogs is true). |
|
|
355
355
|
|
|
356
356
|
---
|
|
@@ -418,12 +418,12 @@ The target endpoint used by this pipeline.
|
|
|
418
418
|
##### `dmsCloudWatchRole`<sup>Optional</sup> <a name="dmsCloudWatchRole" id="cdk-dms-replication.DmsMigrationPipeline.property.dmsCloudWatchRole"></a>
|
|
419
419
|
|
|
420
420
|
```typescript
|
|
421
|
-
public readonly dmsCloudWatchRole:
|
|
421
|
+
public readonly dmsCloudWatchRole: Construct;
|
|
422
422
|
```
|
|
423
423
|
|
|
424
|
-
- *Type:*
|
|
424
|
+
- *Type:* constructs.Construct
|
|
425
425
|
|
|
426
|
-
|
|
426
|
+
Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`.
|
|
427
427
|
|
|
428
428
|
`undefined` when `createDmsServiceRoles` is `false`.
|
|
429
429
|
|
|
@@ -432,12 +432,12 @@ IAM role that allows DMS to write to CloudWatch Logs.
|
|
|
432
432
|
##### `dmsVpcRole`<sup>Optional</sup> <a name="dmsVpcRole" id="cdk-dms-replication.DmsMigrationPipeline.property.dmsVpcRole"></a>
|
|
433
433
|
|
|
434
434
|
```typescript
|
|
435
|
-
public readonly dmsVpcRole:
|
|
435
|
+
public readonly dmsVpcRole: Construct;
|
|
436
436
|
```
|
|
437
437
|
|
|
438
|
-
- *Type:*
|
|
438
|
+
- *Type:* constructs.Construct
|
|
439
439
|
|
|
440
|
-
|
|
440
|
+
Construct wrapping the custom resources that created the `dms-vpc-role`.
|
|
441
441
|
|
|
442
442
|
`undefined` when `createDmsServiceRoles` is `false`.
|
|
443
443
|
|
|
@@ -1018,8 +1018,8 @@ Any object.
|
|
|
1018
1018
|
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.source">source</a></code> | <code><a href="#cdk-dms-replication.IDmsEndpoint">IDmsEndpoint</a></code> | The source endpoint used by this pipeline. |
|
|
1019
1019
|
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.subnetGroup">subnetGroup</a></code> | <code>aws-cdk-lib.aws_dms.CfnReplicationSubnetGroup</code> | The replication subnet group created for this pipeline. |
|
|
1020
1020
|
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.target">target</a></code> | <code><a href="#cdk-dms-replication.IDmsEndpoint">IDmsEndpoint</a></code> | The target endpoint used by this pipeline. |
|
|
1021
|
-
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.dmsCloudWatchRole">dmsCloudWatchRole</a></code> | <code>
|
|
1022
|
-
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.dmsVpcRole">dmsVpcRole</a></code> | <code>
|
|
1021
|
+
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.dmsCloudWatchRole">dmsCloudWatchRole</a></code> | <code>constructs.Construct</code> | Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`. |
|
|
1022
|
+
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.dmsVpcRole">dmsVpcRole</a></code> | <code>constructs.Construct</code> | Construct wrapping the custom resources that created the `dms-vpc-role`. |
|
|
1023
1023
|
| <code><a href="#cdk-dms-replication.DmsServerlessPipeline.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.LogGroup</code> | CloudWatch log group for the replication config (if enableCloudWatchLogs is true). |
|
|
1024
1024
|
|
|
1025
1025
|
---
|
|
@@ -1123,12 +1123,12 @@ The target endpoint used by this pipeline.
|
|
|
1123
1123
|
##### `dmsCloudWatchRole`<sup>Optional</sup> <a name="dmsCloudWatchRole" id="cdk-dms-replication.DmsServerlessPipeline.property.dmsCloudWatchRole"></a>
|
|
1124
1124
|
|
|
1125
1125
|
```typescript
|
|
1126
|
-
public readonly dmsCloudWatchRole:
|
|
1126
|
+
public readonly dmsCloudWatchRole: Construct;
|
|
1127
1127
|
```
|
|
1128
1128
|
|
|
1129
|
-
- *Type:*
|
|
1129
|
+
- *Type:* constructs.Construct
|
|
1130
1130
|
|
|
1131
|
-
|
|
1131
|
+
Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`.
|
|
1132
1132
|
|
|
1133
1133
|
`undefined` when `createDmsServiceRoles` is `false`.
|
|
1134
1134
|
|
|
@@ -1137,12 +1137,12 @@ IAM role that allows DMS to write to CloudWatch Logs.
|
|
|
1137
1137
|
##### `dmsVpcRole`<sup>Optional</sup> <a name="dmsVpcRole" id="cdk-dms-replication.DmsServerlessPipeline.property.dmsVpcRole"></a>
|
|
1138
1138
|
|
|
1139
1139
|
```typescript
|
|
1140
|
-
public readonly dmsVpcRole:
|
|
1140
|
+
public readonly dmsVpcRole: Construct;
|
|
1141
1141
|
```
|
|
1142
1142
|
|
|
1143
|
-
- *Type:*
|
|
1143
|
+
- *Type:* constructs.Construct
|
|
1144
1144
|
|
|
1145
|
-
|
|
1145
|
+
Construct wrapping the custom resources that created the `dms-vpc-role`.
|
|
1146
1146
|
|
|
1147
1147
|
`undefined` when `createDmsServiceRoles` is `false`.
|
|
1148
1148
|
|
|
@@ -1981,10 +1981,14 @@ public readonly createDmsServiceRoles: boolean;
|
|
|
1981
1981
|
|
|
1982
1982
|
Whether to create the two account-level DMS service roles (`dms-vpc-role` and `dms-cloudwatch-logs-role`) required by DMS.
|
|
1983
1983
|
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1984
|
+
When `true`, the roles are created idempotently via a custom resource: if
|
|
1985
|
+
either role already exists in the account (created by another stack or
|
|
1986
|
+
manually), the existing role is silently reused and its trust policy is
|
|
1987
|
+
corrected if necessary. The roles are created with `RemovalPolicy.RETAIN`
|
|
1988
|
+
and are **not** lifecycle-managed by this stack — they will not be deleted
|
|
1989
|
+
when the stack is destroyed. If you require the roles to be
|
|
1990
|
+
lifecycle-managed, create them in a dedicated stack and set this to
|
|
1991
|
+
`false`, then pass cross-stack references as needed.
|
|
1988
1992
|
|
|
1989
1993
|
When `false`, the construct expects the roles to already be present and
|
|
1990
1994
|
skips creating them. The `dmsVpcRole` and `dmsCloudWatchRole` properties
|
|
@@ -2680,10 +2684,18 @@ public readonly createDmsServiceRoles: boolean;
|
|
|
2680
2684
|
|
|
2681
2685
|
Whether to create the two account-level DMS service roles (`dms-vpc-role` and `dms-cloudwatch-logs-role`) required by DMS.
|
|
2682
2686
|
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
`
|
|
2687
|
+
When `true`, the roles are created idempotently via a custom resource: if
|
|
2688
|
+
either role already exists in the account (created by another stack or
|
|
2689
|
+
manually), the existing role is silently reused and its trust policy is
|
|
2690
|
+
corrected if necessary. The roles are created with `RemovalPolicy.RETAIN`
|
|
2691
|
+
and are **not** lifecycle-managed by this stack — they will not be deleted
|
|
2692
|
+
when the stack is destroyed. If you require the roles to be
|
|
2693
|
+
lifecycle-managed, create them in a dedicated stack and set this to
|
|
2694
|
+
`false`, then pass cross-stack references as needed.
|
|
2695
|
+
|
|
2696
|
+
When `false`, the construct expects the roles to already be present and
|
|
2697
|
+
skips creating them. The `dmsVpcRole` and `dmsCloudWatchRole` properties
|
|
2698
|
+
will be `undefined`.
|
|
2687
2699
|
|
|
2688
2700
|
---
|
|
2689
2701
|
|
package/README.md
CHANGED
|
@@ -862,7 +862,7 @@ All source engines above, plus:
|
|
|
862
862
|
- Grant DMS only the minimum IAM permissions required for each target engine.
|
|
863
863
|
- For CDC with PostgreSQL, the replication user needs the `rds_replication` role (RDS) or `REPLICATION` privilege (self-managed).
|
|
864
864
|
- For CDC with Oracle, supplemental logging must be enabled on the source database.
|
|
865
|
-
- **`dms-vpc-role` and `dms-cloudwatch-logs-role`** are account-level IAM roles
|
|
865
|
+
- **`dms-vpc-role` and `dms-cloudwatch-logs-role`** are account-level IAM roles required by DMS. When `createDmsServiceRoles` is `true` (the default), they are created idempotently via a custom resource — if they already exist in the account (created by another stack or manually), the existing roles are silently reused and their trust policies corrected if necessary. The roles are created with `RemovalPolicy.RETAIN` and are **not** lifecycle-managed by the deploying stack; they will not be deleted when the stack is destroyed. If you require the roles to be lifecycle-managed, create them in a dedicated stack and set `createDmsServiceRoles: false`.
|
|
866
866
|
|
|
867
867
|
---
|
|
868
868
|
|
package/lib/dms-roles.d.ts
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import * as cdk from 'aws-cdk-lib';
|
|
2
|
-
import
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
3
|
/**
|
|
4
|
-
* Returns the account-level `dms-vpc-role` IAM role, creating it
|
|
5
|
-
* DMS requires this exact role name before it can place
|
|
6
|
-
* serverless configs inside a VPC.
|
|
4
|
+
* Returns the account-level `dms-vpc-role` IAM role construct, creating it
|
|
5
|
+
* once per stack. DMS requires this exact role name before it can place
|
|
6
|
+
* replication instances or serverless configs inside a VPC.
|
|
7
|
+
*
|
|
8
|
+
* Safe to call from multiple stacks in the same account — if the role already
|
|
9
|
+
* exists, the underlying SDK call succeeds silently.
|
|
7
10
|
*/
|
|
8
|
-
export declare function ensureDmsVpcRole(stack: cdk.Stack):
|
|
11
|
+
export declare function ensureDmsVpcRole(stack: cdk.Stack): Construct;
|
|
9
12
|
/**
|
|
10
|
-
* Returns the account-level `dms-cloudwatch-logs-role` IAM role,
|
|
11
|
-
* once per stack. DMS requires this exact role name to publish
|
|
12
|
-
* CloudWatch Logs.
|
|
13
|
+
* Returns the account-level `dms-cloudwatch-logs-role` IAM role construct,
|
|
14
|
+
* creating it once per stack. DMS requires this exact role name to publish
|
|
15
|
+
* task logs to CloudWatch Logs.
|
|
16
|
+
*
|
|
17
|
+
* Safe to call from multiple stacks in the same account — if the role already
|
|
18
|
+
* exists, the underlying SDK call succeeds silently.
|
|
13
19
|
*/
|
|
14
|
-
export declare function ensureDmsCloudWatchRole(stack: cdk.Stack):
|
|
20
|
+
export declare function ensureDmsCloudWatchRole(stack: cdk.Stack): Construct;
|
package/lib/dms-roles.js
CHANGED
|
@@ -2,41 +2,101 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ensureDmsVpcRole = ensureDmsVpcRole;
|
|
4
4
|
exports.ensureDmsCloudWatchRole = ensureDmsCloudWatchRole;
|
|
5
|
-
const
|
|
5
|
+
const cdk = require("aws-cdk-lib");
|
|
6
|
+
const cr = require("aws-cdk-lib/custom-resources");
|
|
7
|
+
const constructs_1 = require("constructs");
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
9
|
+
* Creates an account-level DMS IAM role idempotently using a custom resource.
|
|
10
|
+
* If the role already exists in the account (e.g. created by another stack),
|
|
11
|
+
* the EntityAlreadyExists error is silently ignored. The role is retained on
|
|
12
|
+
* stack deletion because it is an account-level prerequisite, not stack-owned.
|
|
10
13
|
*/
|
|
11
|
-
function
|
|
12
|
-
const existing = stack.node.tryFindChild(
|
|
14
|
+
function ensureDmsRole(stack, constructId, roleName, policyArn, description, resourceType) {
|
|
15
|
+
const existing = stack.node.tryFindChild(constructId);
|
|
13
16
|
if (existing)
|
|
14
17
|
return existing;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const scope = new constructs_1.Construct(stack, constructId);
|
|
19
|
+
const roleArn = `arn:aws:iam::${stack.account}:role/${roleName}`;
|
|
20
|
+
const trustPolicyDocument = JSON.stringify({
|
|
21
|
+
Version: '2012-10-17',
|
|
22
|
+
Statement: [
|
|
23
|
+
{
|
|
24
|
+
Effect: 'Allow',
|
|
25
|
+
Principal: { Service: 'dms.amazonaws.com' },
|
|
26
|
+
Action: 'sts:AssumeRole',
|
|
27
|
+
},
|
|
20
28
|
],
|
|
21
|
-
description: 'Allows DMS to manage VPC resources for replication instances',
|
|
22
29
|
});
|
|
30
|
+
const roleCreation = new cr.AwsCustomResource(scope, 'Create', {
|
|
31
|
+
resourceType,
|
|
32
|
+
onCreate: {
|
|
33
|
+
service: 'IAM',
|
|
34
|
+
action: 'createRole',
|
|
35
|
+
parameters: {
|
|
36
|
+
RoleName: roleName,
|
|
37
|
+
AssumeRolePolicyDocument: trustPolicyDocument,
|
|
38
|
+
Description: description,
|
|
39
|
+
},
|
|
40
|
+
ignoreErrorCodesMatching: 'EntityAlreadyExists',
|
|
41
|
+
physicalResourceId: cr.PhysicalResourceId.of(roleName),
|
|
42
|
+
},
|
|
43
|
+
removalPolicy: cdk.RemovalPolicy.RETAIN,
|
|
44
|
+
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: [roleArn] }),
|
|
45
|
+
});
|
|
46
|
+
// Always set the trust policy after create — if EntityAlreadyExists was returned
|
|
47
|
+
// above (role pre-existed with wrong trust policy), this corrects it unconditionally.
|
|
48
|
+
const trustPolicyUpdate = new cr.AwsCustomResource(scope, 'SetTrustPolicy', {
|
|
49
|
+
onCreate: {
|
|
50
|
+
service: 'IAM',
|
|
51
|
+
action: 'updateAssumeRolePolicy',
|
|
52
|
+
parameters: {
|
|
53
|
+
RoleName: roleName,
|
|
54
|
+
PolicyDocument: trustPolicyDocument,
|
|
55
|
+
},
|
|
56
|
+
physicalResourceId: cr.PhysicalResourceId.of(`${roleName}-trust`),
|
|
57
|
+
},
|
|
58
|
+
removalPolicy: cdk.RemovalPolicy.RETAIN,
|
|
59
|
+
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: [roleArn] }),
|
|
60
|
+
});
|
|
61
|
+
trustPolicyUpdate.node.addDependency(roleCreation);
|
|
62
|
+
// AttachRolePolicy is idempotent — re-attaching an already-attached policy
|
|
63
|
+
// succeeds without error, so no ignoreErrorCodesMatching is needed here.
|
|
64
|
+
const policyAttachment = new cr.AwsCustomResource(scope, 'AttachPolicy', {
|
|
65
|
+
onCreate: {
|
|
66
|
+
service: 'IAM',
|
|
67
|
+
action: 'attachRolePolicy',
|
|
68
|
+
parameters: {
|
|
69
|
+
RoleName: roleName,
|
|
70
|
+
PolicyArn: policyArn,
|
|
71
|
+
},
|
|
72
|
+
physicalResourceId: cr.PhysicalResourceId.of(`${roleName}-policy`),
|
|
73
|
+
},
|
|
74
|
+
removalPolicy: cdk.RemovalPolicy.RETAIN,
|
|
75
|
+
policy: cr.AwsCustomResourcePolicy.fromSdkCalls({ resources: [roleArn] }),
|
|
76
|
+
});
|
|
77
|
+
policyAttachment.node.addDependency(trustPolicyUpdate);
|
|
78
|
+
return scope;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns the account-level `dms-vpc-role` IAM role construct, creating it
|
|
82
|
+
* once per stack. DMS requires this exact role name before it can place
|
|
83
|
+
* replication instances or serverless configs inside a VPC.
|
|
84
|
+
*
|
|
85
|
+
* Safe to call from multiple stacks in the same account — if the role already
|
|
86
|
+
* exists, the underlying SDK call succeeds silently.
|
|
87
|
+
*/
|
|
88
|
+
function ensureDmsVpcRole(stack) {
|
|
89
|
+
return ensureDmsRole(stack, 'DmsVpcRole', 'dms-vpc-role', 'arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole', 'Allows DMS to manage VPC resources for replication instances', 'Custom::DmsVpcRole');
|
|
23
90
|
}
|
|
24
91
|
/**
|
|
25
|
-
* Returns the account-level `dms-cloudwatch-logs-role` IAM role,
|
|
26
|
-
* once per stack. DMS requires this exact role name to publish
|
|
27
|
-
* CloudWatch Logs.
|
|
92
|
+
* Returns the account-level `dms-cloudwatch-logs-role` IAM role construct,
|
|
93
|
+
* creating it once per stack. DMS requires this exact role name to publish
|
|
94
|
+
* task logs to CloudWatch Logs.
|
|
95
|
+
*
|
|
96
|
+
* Safe to call from multiple stacks in the same account — if the role already
|
|
97
|
+
* exists, the underlying SDK call succeeds silently.
|
|
28
98
|
*/
|
|
29
99
|
function ensureDmsCloudWatchRole(stack) {
|
|
30
|
-
|
|
31
|
-
if (existing)
|
|
32
|
-
return existing;
|
|
33
|
-
return new iam.Role(stack, 'DmsCloudWatchLogsRole', {
|
|
34
|
-
roleName: 'dms-cloudwatch-logs-role',
|
|
35
|
-
assumedBy: new iam.ServicePrincipal('dms.amazonaws.com'),
|
|
36
|
-
managedPolicies: [
|
|
37
|
-
iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AmazonDMSCloudWatchLogsRole'),
|
|
38
|
-
],
|
|
39
|
-
description: 'Allows DMS to publish task logs to CloudWatch Logs',
|
|
40
|
-
});
|
|
100
|
+
return ensureDmsRole(stack, 'DmsCloudWatchLogsRole', 'dms-cloudwatch-logs-role', 'arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole', 'Allows DMS to publish task logs to CloudWatch Logs', 'Custom::DmsCloudWatchLogsRole');
|
|
41
101
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLXJvbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Rtcy1yb2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlHQSw0Q0FTQztBQVVELDBEQVNDO0FBN0hELG1DQUFtQztBQUNuQyxtREFBbUQ7QUFDbkQsMkNBQXVDO0FBRXZDOzs7OztHQUtHO0FBQ0gsU0FBUyxhQUFhLENBQ3BCLEtBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFdBQW1CLEVBQ25CLFlBQW9CO0lBRXBCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELElBQUksUUFBUTtRQUFFLE9BQU8sUUFBcUIsQ0FBQztJQUUzQyxNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixLQUFLLENBQUMsT0FBTyxTQUFTLFFBQVEsRUFBRSxDQUFDO0lBRWpFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxPQUFPLEVBQUUsWUFBWTtRQUNyQixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzNDLE1BQU0sRUFBRSxnQkFBZ0I7YUFDekI7U0FDRjtLQUNGLENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0QsWUFBWTtRQUNaLFFBQVEsRUFBRTtZQUNSLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLFlBQVk7WUFDcEIsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxRQUFRO2dCQUNsQix3QkFBd0IsRUFBRSxtQkFBbUI7Z0JBQzdDLFdBQVcsRUFBRSxXQUFXO2FBQ3pCO1lBQ0Qsd0JBQXdCLEVBQUUscUJBQXFCO1lBQy9DLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO1NBQ3ZEO1FBQ0QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTTtRQUN2QyxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7S0FDMUUsQ0FBQyxDQUFDO0lBRUgsaUZBQWlGO0lBQ2pGLHNGQUFzRjtJQUN0RixNQUFNLGlCQUFpQixHQUFHLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtRQUMxRSxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSx3QkFBd0I7WUFDaEMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixjQUFjLEVBQUUsbUJBQW1CO2FBQ3BDO1lBQ0Qsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsUUFBUSxDQUFDO1NBQ2xFO1FBQ0QsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTTtRQUN2QyxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7S0FDMUUsQ0FBQyxDQUFDO0lBQ0gsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVuRCwyRUFBMkU7SUFDM0UseUVBQXlFO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRTtRQUN2RSxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixTQUFTLEVBQUUsU0FBUzthQUNyQjtZQUNELGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLFNBQVMsQ0FBQztTQUNuRTtRQUNELGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU07UUFDdkMsTUFBTSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0tBQzFFLENBQUMsQ0FBQztJQUNILGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUV2RCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBZ0I7SUFDL0MsT0FBTyxhQUFhLENBQ2xCLEtBQUssRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLGlFQUFpRSxFQUNqRSw4REFBOEQsRUFDOUQsb0JBQW9CLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEtBQWdCO0lBQ3RELE9BQU8sYUFBYSxDQUNsQixLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixrRUFBa0UsRUFDbEUsb0RBQW9ELEVBQ3BELCtCQUErQixDQUNoQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYWNjb3VudC1sZXZlbCBETVMgSUFNIHJvbGUgaWRlbXBvdGVudGx5IHVzaW5nIGEgY3VzdG9tIHJlc291cmNlLlxuICogSWYgdGhlIHJvbGUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGFjY291bnQgKGUuZy4gY3JlYXRlZCBieSBhbm90aGVyIHN0YWNrKSxcbiAqIHRoZSBFbnRpdHlBbHJlYWR5RXhpc3RzIGVycm9yIGlzIHNpbGVudGx5IGlnbm9yZWQuIFRoZSByb2xlIGlzIHJldGFpbmVkIG9uXG4gKiBzdGFjayBkZWxldGlvbiBiZWNhdXNlIGl0IGlzIGFuIGFjY291bnQtbGV2ZWwgcHJlcmVxdWlzaXRlLCBub3Qgc3RhY2stb3duZWQuXG4gKi9cbmZ1bmN0aW9uIGVuc3VyZURtc1JvbGUoXG4gIHN0YWNrOiBjZGsuU3RhY2ssXG4gIGNvbnN0cnVjdElkOiBzdHJpbmcsXG4gIHJvbGVOYW1lOiBzdHJpbmcsXG4gIHBvbGljeUFybjogc3RyaW5nLFxuICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbik6IENvbnN0cnVjdCB7XG4gIGNvbnN0IGV4aXN0aW5nID0gc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoY29uc3RydWN0SWQpO1xuICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZyBhcyBDb25zdHJ1Y3Q7XG5cbiAgY29uc3Qgc2NvcGUgPSBuZXcgQ29uc3RydWN0KHN0YWNrLCBjb25zdHJ1Y3RJZCk7XG4gIGNvbnN0IHJvbGVBcm4gPSBgYXJuOmF3czppYW06OiR7c3RhY2suYWNjb3VudH06cm9sZS8ke3JvbGVOYW1lfWA7XG5cbiAgY29uc3QgdHJ1c3RQb2xpY3lEb2N1bWVudCA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgU3RhdGVtZW50OiBbXG4gICAgICB7XG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgUHJpbmNpcGFsOiB7IFNlcnZpY2U6ICdkbXMuYW1hem9uYXdzLmNvbScgfSxcbiAgICAgICAgQWN0aW9uOiAnc3RzOkFzc3VtZVJvbGUnLFxuICAgICAgfSxcbiAgICBdLFxuICB9KTtcblxuICBjb25zdCByb2xlQ3JlYXRpb24gPSBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2Uoc2NvcGUsICdDcmVhdGUnLCB7XG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIG9uQ3JlYXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgIGFjdGlvbjogJ2NyZWF0ZVJvbGUnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBSb2xlTmFtZTogcm9sZU5hbWUsXG4gICAgICAgIEFzc3VtZVJvbGVQb2xpY3lEb2N1bWVudDogdHJ1c3RQb2xpY3lEb2N1bWVudCxcbiAgICAgICAgRGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxuICAgICAgfSxcbiAgICAgIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZzogJ0VudGl0eUFscmVhZHlFeGlzdHMnLFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2Yocm9sZU5hbWUpLFxuICAgIH0sXG4gICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVNka0NhbGxzKHsgcmVzb3VyY2VzOiBbcm9sZUFybl0gfSksXG4gIH0pO1xuXG4gIC8vIEFsd2F5cyBzZXQgdGhlIHRydXN0IHBvbGljeSBhZnRlciBjcmVhdGUg4oCUIGlmIEVudGl0eUFscmVhZHlFeGlzdHMgd2FzIHJldHVybmVkXG4gIC8vIGFib3ZlIChyb2xlIHByZS1leGlzdGVkIHdpdGggd3JvbmcgdHJ1c3QgcG9saWN5KSwgdGhpcyBjb3JyZWN0cyBpdCB1bmNvbmRpdGlvbmFsbHkuXG4gIGNvbnN0IHRydXN0UG9saWN5VXBkYXRlID0gbmV3IGNyLkF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCAnU2V0VHJ1c3RQb2xpY3knLCB7XG4gICAgb25DcmVhdGU6IHtcbiAgICAgIHNlcnZpY2U6ICdJQU0nLFxuICAgICAgYWN0aW9uOiAndXBkYXRlQXNzdW1lUm9sZVBvbGljeScsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIFJvbGVOYW1lOiByb2xlTmFtZSxcbiAgICAgICAgUG9saWN5RG9jdW1lbnQ6IHRydXN0UG9saWN5RG9jdW1lbnQsXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YoYCR7cm9sZU5hbWV9LXRydXN0YCksXG4gICAgfSxcbiAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoeyByZXNvdXJjZXM6IFtyb2xlQXJuXSB9KSxcbiAgfSk7XG4gIHRydXN0UG9saWN5VXBkYXRlLm5vZGUuYWRkRGVwZW5kZW5jeShyb2xlQ3JlYXRpb24pO1xuXG4gIC8vIEF0dGFjaFJvbGVQb2xpY3kgaXMgaWRlbXBvdGVudCDigJQgcmUtYXR0YWNoaW5nIGFuIGFscmVhZHktYXR0YWNoZWQgcG9saWN5XG4gIC8vIHN1Y2NlZWRzIHdpdGhvdXQgZXJyb3IsIHNvIG5vIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZyBpcyBuZWVkZWQgaGVyZS5cbiAgY29uc3QgcG9saWN5QXR0YWNobWVudCA9IG5ldyBjci5Bd3NDdXN0b21SZXNvdXJjZShzY29wZSwgJ0F0dGFjaFBvbGljeScsIHtcbiAgICBvbkNyZWF0ZToge1xuICAgICAgc2VydmljZTogJ0lBTScsXG4gICAgICBhY3Rpb246ICdhdHRhY2hSb2xlUG9saWN5JyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgUm9sZU5hbWU6IHJvbGVOYW1lLFxuICAgICAgICBQb2xpY3lBcm46IHBvbGljeUFybixcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGNyLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihgJHtyb2xlTmFtZX0tcG9saWN5YCksXG4gICAgfSxcbiAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoeyByZXNvdXJjZXM6IFtyb2xlQXJuXSB9KSxcbiAgfSk7XG4gIHBvbGljeUF0dGFjaG1lbnQubm9kZS5hZGREZXBlbmRlbmN5KHRydXN0UG9saWN5VXBkYXRlKTtcblxuICByZXR1cm4gc2NvcGU7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYWNjb3VudC1sZXZlbCBgZG1zLXZwYy1yb2xlYCBJQU0gcm9sZSBjb25zdHJ1Y3QsIGNyZWF0aW5nIGl0XG4gKiBvbmNlIHBlciBzdGFjay4gRE1TIHJlcXVpcmVzIHRoaXMgZXhhY3Qgcm9sZSBuYW1lIGJlZm9yZSBpdCBjYW4gcGxhY2VcbiAqIHJlcGxpY2F0aW9uIGluc3RhbmNlcyBvciBzZXJ2ZXJsZXNzIGNvbmZpZ3MgaW5zaWRlIGEgVlBDLlxuICpcbiAqIFNhZmUgdG8gY2FsbCBmcm9tIG11bHRpcGxlIHN0YWNrcyBpbiB0aGUgc2FtZSBhY2NvdW50IOKAlCBpZiB0aGUgcm9sZSBhbHJlYWR5XG4gKiBleGlzdHMsIHRoZSB1bmRlcmx5aW5nIFNESyBjYWxsIHN1Y2NlZWRzIHNpbGVudGx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRG1zVnBjUm9sZShzdGFjazogY2RrLlN0YWNrKTogQ29uc3RydWN0IHtcbiAgcmV0dXJuIGVuc3VyZURtc1JvbGUoXG4gICAgc3RhY2ssXG4gICAgJ0Rtc1ZwY1JvbGUnLFxuICAgICdkbXMtdnBjLXJvbGUnLFxuICAgICdhcm46YXdzOmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQW1hem9uRE1TVlBDTWFuYWdlbWVudFJvbGUnLFxuICAgICdBbGxvd3MgRE1TIHRvIG1hbmFnZSBWUEMgcmVzb3VyY2VzIGZvciByZXBsaWNhdGlvbiBpbnN0YW5jZXMnLFxuICAgICdDdXN0b206OkRtc1ZwY1JvbGUnLFxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGFjY291bnQtbGV2ZWwgYGRtcy1jbG91ZHdhdGNoLWxvZ3Mtcm9sZWAgSUFNIHJvbGUgY29uc3RydWN0LFxuICogY3JlYXRpbmcgaXQgb25jZSBwZXIgc3RhY2suIERNUyByZXF1aXJlcyB0aGlzIGV4YWN0IHJvbGUgbmFtZSB0byBwdWJsaXNoXG4gKiB0YXNrIGxvZ3MgdG8gQ2xvdWRXYXRjaCBMb2dzLlxuICpcbiAqIFNhZmUgdG8gY2FsbCBmcm9tIG11bHRpcGxlIHN0YWNrcyBpbiB0aGUgc2FtZSBhY2NvdW50IOKAlCBpZiB0aGUgcm9sZSBhbHJlYWR5XG4gKiBleGlzdHMsIHRoZSB1bmRlcmx5aW5nIFNESyBjYWxsIHN1Y2NlZWRzIHNpbGVudGx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlRG1zQ2xvdWRXYXRjaFJvbGUoc3RhY2s6IGNkay5TdGFjayk6IENvbnN0cnVjdCB7XG4gIHJldHVybiBlbnN1cmVEbXNSb2xlKFxuICAgIHN0YWNrLFxuICAgICdEbXNDbG91ZFdhdGNoTG9nc1JvbGUnLFxuICAgICdkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGUnLFxuICAgICdhcm46YXdzOmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQW1hem9uRE1TQ2xvdWRXYXRjaExvZ3NSb2xlJyxcbiAgICAnQWxsb3dzIERNUyB0byBwdWJsaXNoIHRhc2sgbG9ncyB0byBDbG91ZFdhdGNoIExvZ3MnLFxuICAgICdDdXN0b206OkRtc0Nsb3VkV2F0Y2hMb2dzUm9sZScsXG4gICk7XG59XG4iXX0=
|
package/lib/endpoint.js
CHANGED
|
@@ -384,7 +384,7 @@ class DmsEndpoint extends constructs_1.Construct {
|
|
|
384
384
|
}
|
|
385
385
|
exports.DmsEndpoint = DmsEndpoint;
|
|
386
386
|
_a = JSII_RTTI_SYMBOL_1;
|
|
387
|
-
DmsEndpoint[_a] = { fqn: "cdk-dms-replication.DmsEndpoint", version: "0.0
|
|
387
|
+
DmsEndpoint[_a] = { fqn: "cdk-dms-replication.DmsEndpoint", version: "0.1.0" };
|
|
388
388
|
// ---------------------------------------------------------------------------
|
|
389
389
|
// Static validation data — declared first to satisfy member-ordering rules
|
|
390
390
|
// ---------------------------------------------------------------------------
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as cdk from 'aws-cdk-lib';
|
|
2
2
|
import * as ec2 from 'aws-cdk-lib/aws-ec2';
|
|
3
|
-
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
3
|
import * as kms from 'aws-cdk-lib/aws-kms';
|
|
5
4
|
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
6
5
|
import { Construct } from 'constructs';
|
|
@@ -173,10 +172,14 @@ export interface DmsMigrationPipelineProps {
|
|
|
173
172
|
* Whether to create the two account-level DMS service roles (`dms-vpc-role`
|
|
174
173
|
* and `dms-cloudwatch-logs-role`) required by DMS.
|
|
175
174
|
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
175
|
+
* When `true`, the roles are created idempotently via a custom resource: if
|
|
176
|
+
* either role already exists in the account (created by another stack or
|
|
177
|
+
* manually), the existing role is silently reused and its trust policy is
|
|
178
|
+
* corrected if necessary. The roles are created with `RemovalPolicy.RETAIN`
|
|
179
|
+
* and are **not** lifecycle-managed by this stack — they will not be deleted
|
|
180
|
+
* when the stack is destroyed. If you require the roles to be
|
|
181
|
+
* lifecycle-managed, create them in a dedicated stack and set this to
|
|
182
|
+
* `false`, then pass cross-stack references as needed.
|
|
180
183
|
*
|
|
181
184
|
* When `false`, the construct expects the roles to already be present and
|
|
182
185
|
* skips creating them. The `dmsVpcRole` and `dmsCloudWatchRole` properties
|
|
@@ -239,15 +242,15 @@ export declare class DmsMigrationPipeline extends Construct {
|
|
|
239
242
|
/** CloudWatch log group for the task (if enableCloudWatchLogs is true). */
|
|
240
243
|
readonly logGroup?: logs.LogGroup;
|
|
241
244
|
/**
|
|
242
|
-
*
|
|
245
|
+
* Construct wrapping the custom resources that created the `dms-cloudwatch-logs-role`.
|
|
243
246
|
* `undefined` when `createDmsServiceRoles` is `false`.
|
|
244
247
|
*/
|
|
245
|
-
readonly dmsCloudWatchRole?:
|
|
248
|
+
readonly dmsCloudWatchRole?: Construct;
|
|
246
249
|
/**
|
|
247
|
-
*
|
|
250
|
+
* Construct wrapping the custom resources that created the `dms-vpc-role`.
|
|
248
251
|
* `undefined` when `createDmsServiceRoles` is `false`.
|
|
249
252
|
*/
|
|
250
|
-
readonly dmsVpcRole?:
|
|
253
|
+
readonly dmsVpcRole?: Construct;
|
|
251
254
|
constructor(scope: Construct, id: string, props: DmsMigrationPipelineProps);
|
|
252
255
|
private validateProps;
|
|
253
256
|
}
|
|
@@ -96,10 +96,11 @@ class DmsMigrationPipeline extends constructs_1.Construct {
|
|
|
96
96
|
kmsKey: props.encryptionKey,
|
|
97
97
|
removalPolicy,
|
|
98
98
|
});
|
|
99
|
-
//
|
|
100
|
-
//
|
|
99
|
+
// dms-vpc-role must exist before DMS can describe VPC subnets (subnet group)
|
|
100
|
+
// or place the replication instance inside a VPC.
|
|
101
101
|
if (this.dmsVpcRole) {
|
|
102
|
-
this.replicationInstance.
|
|
102
|
+
this.replicationInstance.subnetGroup.node.addDependency(this.dmsVpcRole);
|
|
103
|
+
this.replicationInstance.cfnReplicationInstance.node.addDependency(this.dmsVpcRole);
|
|
103
104
|
}
|
|
104
105
|
// -----------------------------------------------------------------------
|
|
105
106
|
// Source endpoint
|
|
@@ -214,5 +215,5 @@ class DmsMigrationPipeline extends constructs_1.Construct {
|
|
|
214
215
|
}
|
|
215
216
|
exports.DmsMigrationPipeline = DmsMigrationPipeline;
|
|
216
217
|
_a = JSII_RTTI_SYMBOL_1;
|
|
217
|
-
DmsMigrationPipeline[_a] = { fqn: "cdk-dms-replication.DmsMigrationPipeline", version: "0.0
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21pZ3JhdGlvbi1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUluQyw2Q0FBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLDJDQUF3RTtBQUN4RSx5Q0FBeUU7QUFDekUsbUNBQWdGO0FBQ2hGLGlFQUFnRTtBQUNoRSx5REFBd0Q7QUFDeEQscURBQWlEO0FBNk9qRCw4RUFBOEU7QUFDOUUsWUFBWTtBQUNaLDhFQUE4RTtBQUU5RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTO0lBZ0NqRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUM7UUFFeEQsMEVBQTBFO1FBQzFFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsb0RBQW9EO1FBQ3BELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNEJBQWdCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLGtDQUFrQztRQUNsQywwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FB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S0FBZ0M7UUFDcEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO1FBQ3pELElBQUksU0FBUyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQ3pDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxJQUFJLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFLENBQ3pFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYixrRUFBa0UsQ0FDbkUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOztBQXROSCxvREF1TkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGVuc3VyZURtc0Nsb3VkV2F0Y2hSb2xlLCBlbnN1cmVEbXNWcGNSb2xlIH0gZnJvbSAnLi9kbXMtcm9sZXMnO1xuaW1wb3J0IHsgRG1zRW5kcG9pbnQsIERtc0VuZHBvaW50UHJvcHMsIElEbXNFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xuaW1wb3J0IHsgRW5kcG9pbnRUeXBlLCBNaWdyYXRpb25UeXBlLCBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IERtc1JlcGxpY2F0aW9uSW5zdGFuY2UgfSBmcm9tICcuL3JlcGxpY2F0aW9uLWluc3RhbmNlJztcbmltcG9ydCB7IERtc1JlcGxpY2F0aW9uVGFzayB9IGZyb20gJy4vcmVwbGljYXRpb24tdGFzayc7XG5pbXBvcnQgeyBUYWJsZU1hcHBpbmdzIH0gZnJvbSAnLi90YWJsZS1tYXBwaW5ncyc7XG5pbXBvcnQgeyBUYXNrU2V0dGluZ3MgfSBmcm9tICcuL3Rhc2stc2V0dGluZ3MnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFByb3BzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgc291cmNlIGVuZHBvaW50IG9mIGEge0BsaW5rIERtc01pZ3JhdGlvblBpcGVsaW5lfS5cbiAqIEV4dGVuZHMge0BsaW5rIERtc0VuZHBvaW50UHJvcHN9IGJ1dCBvbWl0cyBgZW5kcG9pbnRUeXBlYCAoYWx3YXlzIFNPVVJDRSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlRW5kcG9pbnRPcHRpb25zIHtcbiAgcmVhZG9ubHkgZW5naW5lOiBEbXNFbmRwb2ludFByb3BzWydlbmdpbmUnXTtcbiAgcmVhZG9ubHkgZW5kcG9pbnRJZGVudGlmaWVyPzogc3RyaW5nO1xuICByZWFkb25seSBzZXJ2ZXJOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFiYXNlIHBhc3N3b3JkLiBUaGUgcmVzb2x2ZWQgdmFsdWUgaXMgc3RvcmVkIGFzICoqcGxhaW50ZXh0KiogaW4gdGhlXG4gICAqIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlLiBQcmVmZXIgYHNlY3JldHNNYW5hZ2VyU2VjcmV0SWRgIGluIHRoZVxuICAgKiBlbmdpbmUtc3BlY2lmaWMgc2V0dGluZ3MgZm9yIHByb2R1Y3Rpb24gd29ya2xvYWRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBjZGsuU2VjcmV0VmFsdWU7XG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgZXh0cmFDb25uZWN0aW9uQXR0cmlidXRlcz86IHN0cmluZztcbiAgcmVhZG9ubHkgY2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNzbE1vZGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG15U3FsU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydteVNxbFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHBvc3RncmVTcWxTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3Bvc3RncmVTcWxTZXR0aW5ncyddO1xuICByZWFkb25seSBvcmFjbGVTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ29yYWNsZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHNxbFNlcnZlclNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snc3FsU2VydmVyU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgc2FwQXNlU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzYXBBc2VTZXR0aW5ncyddO1xuICByZWFkb25seSBkYjJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ2RiMlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG1vbmdvRGJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ21vbmdvRGJTZXR0aW5ncyddO1xuICByZWFkb25seSBzM1NldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snczNTZXR0aW5ncyddO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSB0YXJnZXQgZW5kcG9pbnQgb2YgYSB7QGxpbmsgRG1zTWlncmF0aW9uUGlwZWxpbmV9LlxuICogRXh0ZW5kcyB7QGxpbmsgRG1zRW5kcG9pbnRQcm9wc30gYnV0IG9taXRzIGBlbmRwb2ludFR5cGVgIChhbHdheXMgVEFSR0VUKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRFbmRwb2ludE9wdGlvbnMge1xuICByZWFkb25seSBlbmdpbmU6IERtc0VuZHBvaW50UHJvcHNbJ2VuZ2luZSddO1xuICByZWFkb25seSBlbmRwb2ludElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZlck5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWJhc2UgcGFzc3dvcmQuIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyBzdG9yZWQgYXMgKipwbGFpbnRleHQqKiBpbiB0aGVcbiAgICogQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUuIFByZWZlciBgc2VjcmV0c01hbmFnZXJTZWNyZXRJZGAgaW4gdGhlXG4gICAqIGVuZ2luZS1zcGVjaWZpYyBzZXR0aW5ncyBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZD86IGNkay5TZWNyZXRWYWx1ZTtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzPzogc3RyaW5nO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3NsTW9kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbXlTcWxTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ215U3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcG9zdGdyZVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sncG9zdGdyZVNxbFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9yYWNsZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snb3JhY2xlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgc3FsU2VydmVyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzcWxTZXJ2ZXJTZXR0aW5ncyddO1xuICByZWFkb25seSBzYXBBc2VTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NhcEFzZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IGRiMlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snZGIyU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgbW9uZ29EYlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbW9uZ29EYlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHMzU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzM1NldHRpbmdzJ107XG4gIHJlYWRvbmx5IGR5bmFtb0RiU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydkeW5hbW9EYlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHJlZHNoaWZ0U2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydyZWRzaGlmdFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IGtpbmVzaXNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ2tpbmVzaXNTZXR0aW5ncyddO1xuICByZWFkb25seSBrYWZrYVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sna2Fma2FTZXR0aW5ncyddO1xuICByZWFkb25seSBvcGVuU2VhcmNoU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydvcGVuU2VhcmNoU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgbmVwdHVuZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbmVwdHVuZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHJlZGlzU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydyZWRpc1NldHRpbmdzJ107XG59XG5cbi8qKiBUb3AtbGV2ZWwgcHJvcHMgZm9yIHtAbGluayBEbXNNaWdyYXRpb25QaXBlbGluZX0uICovXG5leHBvcnQgaW50ZXJmYWNlIERtc01pZ3JhdGlvblBpcGVsaW5lUHJvcHMge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFJlcGxpY2F0aW9uIGluc3RhbmNlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogVlBDIGluIHdoaWNoIHRvIHBsYWNlIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogVGhlIGluc3RhbmNlIGlzIHBsYWNlZCBpbiBwcml2YXRlIHN1Ym5ldHMuXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgc2VsZWN0aW9uIGZvciB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIEBkZWZhdWx0IHByaXZhdGUgc3VibmV0cyB3aXRoIGVncmVzc1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFJlcGxpY2F0aW9uIGluc3RhbmNlIGNsYXNzLlxuICAgKiBAZGVmYXVsdCBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MuUjZJX0xBUkdFXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M/OiBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M7XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRlZCBzdG9yYWdlIGZvciB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UgaW4gR0IuXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UgaXMgTXVsdGktQVouXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtdWx0aUF6PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5naW5lIHZlcnNpb24gZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIGluIHRoZSByZWdpb24gKGNob3NlbiBieSBETVMpXG4gICAqL1xuICByZWFkb25seSBlbmdpbmVWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBLTVMga2V5IGZvciBlbmNyeXB0aW5nIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBzdG9yYWdlIGF0IHJlc3QuXG4gICAqIEEgbmV3IGtleSBpcyBjcmVhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEVuZHBvaW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFNvdXJjZSBlbmRwb2ludCBjb25maWd1cmF0aW9uLlxuICAgKiBQcm92aWRlIHRoaXMgT1IgYGV4aXN0aW5nU291cmNlRW5kcG9pbnRgIOKAlCBub3QgYm90aC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUVuZHBvaW50PzogU291cmNlRW5kcG9pbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyB7QGxpbmsgSURtc0VuZHBvaW50fSB0byB1c2UgYXMgdGhlIHNvdXJjZS5cbiAgICogUHJvdmlkZSB0aGlzIE9SIGBzb3VyY2VFbmRwb2ludGAg4oCUIG5vdCBib3RoLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdTb3VyY2VFbmRwb2ludD86IElEbXNFbmRwb2ludDtcblxuICAvKipcbiAgICogVGFyZ2V0IGVuZHBvaW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgZXhpc3RpbmdUYXJnZXRFbmRwb2ludGAg4oCUIG5vdCBib3RoLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RW5kcG9pbnQ/OiBUYXJnZXRFbmRwb2ludE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHtAbGluayBJRG1zRW5kcG9pbnR9IHRvIHVzZSBhcyB0aGUgdGFyZ2V0LlxuICAgKiBQcm92aWRlIHRoaXMgT1IgYHRhcmdldEVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhcmdldEVuZHBvaW50PzogSURtc0VuZHBvaW50O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVwbGljYXRpb24gdGFza1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqIFRoZSB0eXBlIG9mIG1pZ3JhdGlvbiB0byBwZXJmb3JtLiAqL1xuICByZWFkb25seSBtaWdyYXRpb25UeXBlOiBNaWdyYXRpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUYWJsZSBtYXBwaW5ncyBKU09OIHN0cmluZy5cbiAgICogVXNlIHtAbGluayBUYWJsZU1hcHBpbmdzfSB0byBidWlsZCB0aGlzLlxuICAgKiBEZWZhdWx0cyB0byBcImluY2x1ZGUgYWxsIHRhYmxlcyBpbiBhbGwgc2NoZW1hc1wiIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTWFwcGluZ3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhc2sgc2V0dGluZ3MgSlNPTiBzdHJpbmcuXG4gICAqIFVzZSB7QGxpbmsgVGFza1NldHRpbmdzfSB0byBidWlsZCB0aGlzLlxuICAgKiBTZW5zaWJsZSBkZWZhdWx0cyBhcmUgYXBwbGllZCBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSB0YXNrU2V0dGluZ3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEQyBzdGFydCB0aW1lIChJU08tODYwMSBzdHJpbmcgb3IgVW5peCBlcG9jaCBzZWNvbmRzKS5cbiAgICogT25seSB1c2VkIHdoZW4gbWlncmF0aW9uVHlwZSBpbmNsdWRlcyBDREMuXG4gICAqL1xuICByZWFkb25seSBjZGNTdGFydFRpbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEQyBzdGFydCBwb3NpdGlvbiAoTFNOIG9yIGVxdWl2YWxlbnQpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtaWdyYXRpb25UeXBlIGluY2x1ZGVzIENEQy5cbiAgICovXG4gIHJlYWRvbmx5IGNkY1N0YXJ0UG9zaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENEQyBzdG9wIHBvc2l0aW9uLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtaWdyYXRpb25UeXBlIGluY2x1ZGVzIENEQy5cbiAgICovXG4gIHJlYWRvbmx5IGNkY1N0b3BQb3NpdGlvbj86IHN0cmluZztcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE9ic2VydmFiaWxpdHlcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSBhIENsb3VkV2F0Y2ggbG9nIGdyb3VwIGZvciB0aGUgdGFzay5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQ2xvdWRXYXRjaExvZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXRlbnRpb24gcGVyaW9kIGZvciB0aGUgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEhcbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IGxvZ3MuUmV0ZW50aW9uRGF5cztcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIElBTSAvIHNlcnZpY2Ugcm9sZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNyZWF0ZSB0aGUgdHdvIGFjY291bnQtbGV2ZWwgRE1TIHNlcnZpY2Ugcm9sZXMgKGBkbXMtdnBjLXJvbGVgXG4gICAqIGFuZCBgZG1zLWNsb3Vkd2F0Y2gtbG9ncy1yb2xlYCkgcmVxdWlyZWQgYnkgRE1TLlxuICAgKlxuICAgKiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHRoZSByb2xlcyBhbHJlYWR5IGV4aXN0IGluIHRoZSBBV1MgYWNjb3VudCDigJQgZm9yXG4gICAqIGV4YW1wbGUsIGJlY2F1c2UgYW5vdGhlciBDREsgc3RhY2sgKG9yIGEgbWFudWFsIGRlcGxveW1lbnQpIGFscmVhZHlcbiAgICogY3JlYXRlZCB0aGVtLiBBdHRlbXB0aW5nIHRvIGNyZWF0ZSByb2xlcyB3aXRoIHRoZSBzYW1lIG5hbWUgdHdpY2UgaW4gdGhlXG4gICAqIHNhbWUgYWNjb3VudCBjYXVzZXMgYSBDbG91ZEZvcm1hdGlvbiBgRW50aXR5QWxyZWFkeUV4aXN0c2AgZXJyb3IuXG4gICAqXG4gICAqIFdoZW4gYGZhbHNlYCwgdGhlIGNvbnN0cnVjdCBleHBlY3RzIHRoZSByb2xlcyB0byBhbHJlYWR5IGJlIHByZXNlbnQgYW5kXG4gICAqIHNraXBzIGNyZWF0aW5nIHRoZW0uIFRoZSBgZG1zVnBjUm9sZWAgYW5kIGBkbXNDbG91ZFdhdGNoUm9sZWAgcHJvcGVydGllc1xuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEbXNTZXJ2aWNlUm9sZXM/OiBib29sZWFuO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogUmVtb3ZhbCBwb2xpY3kgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoZSBwaXBlbGluZS5cbiAgICogQGRlZmF1bHQgY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnN0cnVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQW4gTDMgQ0RLIHBhdHRlcm4gY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIGNvbXBsZXRlIERNUyBtaWdyYXRpb24gcGlwZWxpbmU6XG4gKlxuICogLSAqKlJlcGxpY2F0aW9uIGluc3RhbmNlKiog4oCUIHBsYWNlZCBpbiBwcml2YXRlIHN1Ym5ldHMgd2l0aCBLTVMgZW5jcnlwdGlvblxuICogICBhbmQgYSBkZWRpY2F0ZWQgc2VjdXJpdHkgZ3JvdXAuXG4gKiAtICoqU291cmNlIGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqVGFyZ2V0IGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqUmVwbGljYXRpb24gdGFzayoqIOKAlCB3aXJlcyB0aGUgaW5zdGFuY2UsIGVuZHBvaW50cywgdGFibGUgbWFwcGluZ3MgYW5kXG4gKiAgIHRhc2sgc2V0dGluZ3MgdG9nZXRoZXIuXG4gKiAtICoqSUFNIHJvbGUqKiDigJQgZ3JhbnRzIERNUyBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIENsb3VkV2F0Y2ggTG9ncy5cbiAqIC0gKipDbG91ZFdhdGNoIGxvZyBncm91cCoqIOKAlCAob3B0aW9uYWwpIHJldGFpbnMgdGFzayBsb2dzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNeVNRTCDihpIgQXVyb3JhIFBvc3RncmVTUUwsIGZ1bGwtbG9hZC1hbmQtQ0RDXG4gKiBjb25zdCBwaXBlbGluZSA9IG5ldyBEbXNNaWdyYXRpb25QaXBlbGluZSh0aGlzLCAnTWlncmF0aW9uUGlwZWxpbmUnLCB7XG4gKiAgIHZwYyxcbiAqICAgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZS5GVUxMX0xPQURfQU5EX0NEQyxcbiAqICAgc291cmNlRW5kcG9pbnQ6IHtcbiAqICAgICBlbmdpbmU6IEVuZHBvaW50RW5naW5lLk1ZU1FMLFxuICogICAgIHNlcnZlck5hbWU6ICdteXNxbC5leGFtcGxlLmNvbScsXG4gKiAgICAgcG9ydDogMzMwNixcbiAqICAgICB1c2VybmFtZTogJ2Rtc191c2VyJyxcbiAqICAgICBwYXNzd29yZDogY2RrLlNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKCdteXNxbC1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhcmdldEVuZHBvaW50OiB7XG4gKiAgICAgZW5naW5lOiBFbmRwb2ludEVuZ2luZS5BVVJPUkFfUE9TVEdSRVNRTCxcbiAqICAgICBzZXJ2ZXJOYW1lOiBjbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAqICAgICBwb3J0OiA1NDMyLFxuICogICAgIHVzZXJuYW1lOiAnZG1zX3VzZXInLFxuICogICAgIHBhc3N3b3JkOiBjZGsuU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXIoJ2F1cm9yYS1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhYmxlTWFwcGluZ3M6IG5ldyBUYWJsZU1hcHBpbmdzKCkuaW5jbHVkZVNjaGVtYSgncHVibGljJykudG9Kc29uKCksXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIERtc01pZ3JhdGlvblBpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEluc3RhbmNlIGZpZWxkc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHByb3Zpc2lvbmVkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2U6IERtc1JlcGxpY2F0aW9uSW5zdGFuY2U7XG5cbiAgLyoqIFRoZSBzb3VyY2UgZW5kcG9pbnQgdXNlZCBieSB0aGlzIHBpcGVsaW5lLiAqL1xuICByZWFkb25seSBzb3VyY2U6IElEbXNFbmRwb2ludDtcblxuICAvKiogVGhlIHRhcmdldCBlbmRwb2ludCB1c2VkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHRhcmdldDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gdGFzayB0aGF0IGRyaXZlcyB0aGUgbWlncmF0aW9uLiAqL1xuICByZWFkb25seSByZXBsaWNhdGlvblRhc2s6IERtc1JlcGxpY2F0aW9uVGFzaztcblxuICAvKiogQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrIChpZiBlbmFibGVDbG91ZFdhdGNoTG9ncyBpcyB0cnVlKS4gKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBsb2dzLkxvZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBJQU0gcm9sZSB0aGF0IGFsbG93cyBETVMgdG8gd3JpdGUgdG8gQ2xvdWRXYXRjaCBMb2dzLlxuICAgKiBgdW5kZWZpbmVkYCB3aGVuIGBjcmVhdGVEbXNTZXJ2aWNlUm9sZXNgIGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkbXNDbG91ZFdhdGNoUm9sZT86IGlhbS5Sb2xlO1xuXG4gIC8qKlxuICAgKiBJQU0gcm9sZSB0aGF0IGFsbG93cyBETVMgdG8gbWFuYWdlIFZQQyByZXNvdXJjZXMgKGRtcy12cGMtcm9sZSkuXG4gICAqIGB1bmRlZmluZWRgIHdoZW4gYGNyZWF0ZURtc1NlcnZpY2VSb2xlc2AgaXMgYGZhbHNlYC5cbiAgICovXG4gIHJlYWRvbmx5IGRtc1ZwY1JvbGU/OiBpYW0uUm9sZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRG1zTWlncmF0aW9uUGlwZWxpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlUHJvcHMocHJvcHMpO1xuXG4gICAgY29uc3QgcmVtb3ZhbFBvbGljeSA9IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiAgICBjb25zdCBjcmVhdGVSb2xlcyA9IHByb3BzLmNyZWF0ZURtc1NlcnZpY2VSb2xlcyA/PyB0cnVlO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBkbXMtdnBjLXJvbGUg4oCUIGFjY291bnQtbGV2ZWwgc2luZ2xldG9uIHJlcXVpcmVkIGJ5IERNUyB0byBwbGFjZVxuICAgIC8vIHJlcGxpY2F0aW9uIGluc3RhbmNlcyBpbnNpZGUgYSBWUEMuIE11c3QgZXhpc3QgYmVmb3JlIHRoZSBmaXJzdFxuICAgIC8vIENmblJlcGxpY2F0aW9uSW5zdGFuY2UgaXMgY3JlYXRlZCBpbiB0aGUgYWNjb3VudC5cbiAgICAvLyBTa2lwIHdoZW4gY3JlYXRlRG1zU2VydmljZVJvbGVzIGlzIGZhbHNlIChyb2xlcyBhbHJlYWR5IGV4aXN0KS5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGlmIChjcmVhdGVSb2xlcykge1xuICAgICAgdGhpcy5kbXNWcGNSb2xlID0gZW5zdXJlRG1zVnBjUm9sZShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgJiBJQU0gcm9sZVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgY29uc3QgZW5hYmxlTG9ncyA9IHByb3BzLmVuYWJsZUNsb3VkV2F0Y2hMb2dzID8/IHRydWU7XG5cbiAgICBpZiAoZW5hYmxlTG9ncykge1xuICAgICAgdGhpcy5sb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHRoaXMsICdUYXNrTG9nR3JvdXAnLCB7XG4gICAgICAgIGxvZ0dyb3VwTmFtZTogYC9hd3MvZG1zL3Rhc2tzLyR7aWR9YCxcbiAgICAgICAgcmV0ZW50aW9uOiBwcm9wcy5sb2dSZXRlbnRpb24gPz8gbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY3JlYXRlUm9sZXMpIHtcbiAgICAgICAgLy8gZG1zLWNsb3Vkd2F0Y2gtbG9ncy1yb2xlIGlzIGFuIGFjY291bnQtbGV2ZWwgc2luZ2xldG9uIOKAlCBETVMgcmVxdWlyZXNcbiAgICAgICAgLy8gdGhpcyBleGFjdCBuYW1lLiBHdWFyZCB3aXRoIGEgc3RhY2stbGV2ZWwgc2luZ2xldG9uIHNvIGRlcGxveWluZyBtdWx0aXBsZVxuICAgICAgICAvLyBwaXBlbGluZXMgaW4gdGhlIHNhbWUgc3RhY2sgZG9lc24ndCBjcmVhdGUgZHVwbGljYXRlIHJvbGVzLlxuICAgICAgICB0aGlzLmRtc0Nsb3VkV2F0Y2hSb2xlID0gZW5zdXJlRG1zQ2xvdWRXYXRjaFJvbGUoY2RrLlN0YWNrLm9mKHRoaXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJlcGxpY2F0aW9uIGluc3RhbmNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UgPSBuZXcgRG1zUmVwbGljYXRpb25JbnN0YW5jZSh0aGlzLCAnUmVwbGljYXRpb25JbnN0YW5jZScsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMudnBjU3VibmV0cyxcbiAgICAgIHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzczogcHJvcHMucmVwbGljYXRpb25JbnN0YW5jZUNsYXNzLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgIG11bHRpQXo6IHByb3BzLm11bHRpQXosXG4gICAgICBlbmdpbmVWZXJzaW9uOiBwcm9wcy5lbmdpbmVWZXJzaW9uLFxuICAgICAga21zS2V5OiBwcm9wcy5lbmNyeXB0aW9uS2V5LFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcbiAgICAvLyBUaGUgcmVwbGljYXRpb24gaW5zdGFuY2UgY2Fubm90IGJlIHBsYWNlZCBpbiBhIFZQQyB1bnRpbCBkbXMtdnBjLXJvbGUgZXhpc3RzLlxuICAgIC8vIE9ubHkgYWRkIHRoZSBkZXBlbmRlbmN5IHdoZW4gd2UgY3JlYXRlZCB0aGUgcm9sZSBvdXJzZWx2ZXMuXG4gICAgaWYgKHRoaXMuZG1zVnBjUm9sZSkge1xuICAgICAgdGhpcy5yZXBsaWNhdGlvbkluc3RhbmNlLmNmblJlcGxpY2F0aW9uSW5zdGFuY2UuYWRkRGVwZW5kZW5jeShcbiAgICAgICAgdGhpcy5kbXNWcGNSb2xlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTb3VyY2UgZW5kcG9pbnRcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGlmIChwcm9wcy5leGlzdGluZ1NvdXJjZUVuZHBvaW50KSB7XG4gICAgICB0aGlzLnNvdXJjZSA9IHByb3BzLmV4aXN0aW5nU291cmNlRW5kcG9pbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNvdXJjZU9wdHMgPSBwcm9wcy5zb3VyY2VFbmRwb2ludCE7XG4gICAgICB0aGlzLnNvdXJjZSA9IG5ldyBEbXNFbmRwb2ludCh0aGlzLCAnU291cmNlRW5kcG9pbnQnLCB7XG4gICAgICAgIGVuZHBvaW50VHlwZTogRW5kcG9pbnRUeXBlLlNPVVJDRSxcbiAgICAgICAgZW5naW5lOiBzb3VyY2VPcHRzLmVuZ2luZSxcbiAgICAgICAgZW5kcG9pbnRJZGVudGlmaWVyOiBzb3VyY2VPcHRzLmVuZHBvaW50SWRlbnRpZmllcixcbiAgICAgICAgc2VydmVyTmFtZTogc291cmNlT3B0cy5zZXJ2ZXJOYW1lLFxuICAgICAgICBwb3J0OiBzb3VyY2VPcHRzLnBvcnQsXG4gICAgICAgIHVzZXJuYW1lOiBzb3VyY2VPcHRzLnVzZXJuYW1lLFxuICAgICAgICBwYXNzd29yZDogc291cmNlT3B0cy5wYXNzd29yZCxcbiAgICAgICAgZGF0YWJhc2VOYW1lOiBzb3VyY2VPcHRzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgZXh0cmFDb25uZWN0aW9uQXR0cmlidXRlczogc291cmNlT3B0cy5leHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzLFxuICAgICAgICBjZXJ0aWZpY2F0ZUFybjogc291cmNlT3B0cy5jZXJ0aWZpY2F0ZUFybixcbiAgICAgICAgc3NsTW9kZTogc291cmNlT3B0cy5zc2xNb2RlLFxuICAgICAgICBteVNxbFNldHRpbmdzOiBzb3VyY2VPcHRzLm15U3FsU2V0dGluZ3MsXG4gICAgICAgIHBvc3RncmVTcWxTZXR0aW5nczogc291cmNlT3B0cy5wb3N0Z3JlU3FsU2V0dGluZ3MsXG4gICAgICAgIG9yYWNsZVNldHRpbmdzOiBzb3VyY2VPcHRzLm9yYWNsZVNldHRpbmdzLFxuICAgICAgICBzcWxTZXJ2ZXJTZXR0aW5nczogc291cmNlT3B0cy5zcWxTZXJ2ZXJTZXR0aW5ncyxcbiAgICAgICAgc2FwQXNlU2V0dGluZ3M6IHNvdXJjZU9wdHMuc2FwQXNlU2V0dGluZ3MsXG4gICAgICAgIGRiMlNldHRpbmdzOiBzb3VyY2VPcHRzLmRiMlNldHRpbmdzLFxuICAgICAgICBtb25nb0RiU2V0dGluZ3M6IHNvdXJjZU9wdHMubW9uZ29EYlNldHRpbmdzLFxuICAgICAgICBzM1NldHRpbmdzOiBzb3VyY2VPcHRzLnMzU2V0dGluZ3MsXG4gICAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRhcmdldCBlbmRwb2ludFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQpIHtcbiAgICAgIHRoaXMudGFyZ2V0ID0gcHJvcHMuZXhpc3RpbmdUYXJnZXRFbmRwb2ludDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGFyZ2V0T3B0cyA9IHByb3BzLnRhcmdldEVuZHBvaW50ITtcbiAgICAgIHRoaXMudGFyZ2V0ID0gbmV3IERtc0VuZHBvaW50KHRoaXMsICdUYXJnZXRFbmRwb2ludCcsIHtcbiAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuVEFSR0VULFxuICAgICAgICBlbmdpbmU6IHRhcmdldE9wdHMuZW5naW5lLFxuICAgICAgICBlbmRwb2ludElkZW50aWZpZXI6IHRhcmdldE9wdHMuZW5kcG9pbnRJZGVudGlmaWVyLFxuICAgICAgICBzZXJ2ZXJOYW1lOiB0YXJnZXRPcHRzLnNlcnZlck5hbWUsXG4gICAgICAgIHBvcnQ6IHRhcmdldE9wdHMucG9ydCxcbiAgICAgICAgdXNlcm5hbWU6IHRhcmdldE9wdHMudXNlcm5hbWUsXG4gICAgICAgIHBhc3N3b3JkOiB0YXJnZXRPcHRzLnBhc3N3b3JkLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHRhcmdldE9wdHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzOiB0YXJnZXRPcHRzLmV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXMsXG4gICAgICAgIGNlcnRpZmljYXRlQXJuOiB0YXJnZXRPcHRzLmNlcnRpZmljYXRlQXJuLFxuICAgICAgICBzc2xNb2RlOiB0YXJnZXRPcHRzLnNzbE1vZGUsXG4gICAgICAgIG15U3FsU2V0dGluZ3M6IHRhcmdldE9wdHMubXlTcWxTZXR0aW5ncyxcbiAgICAgICAgcG9zdGdyZVNxbFNldHRpbmdzOiB0YXJnZXRPcHRzLnBvc3RncmVTcWxTZXR0aW5ncyxcbiAgICAgICAgb3JhY2xlU2V0dGluZ3M6IHRhcmdldE9wdHMub3JhY2xlU2V0dGluZ3MsXG4gICAgICAgIHNxbFNlcnZlclNldHRpbmdzOiB0YXJnZXRPcHRzLnNxbFNlcnZlclNldHRpbmdzLFxuICAgICAgICBzYXBBc2VTZXR0aW5nczogdGFyZ2V0T3B0cy5zYXBBc2VTZXR0aW5ncyxcbiAgICAgICAgZGIyU2V0dGluZ3M6IHRhcmdldE9wdHMuZGIyU2V0dGluZ3MsXG4gICAgICAgIG1vbmdvRGJTZXR0aW5nczogdGFyZ2V0T3B0cy5tb25nb0RiU2V0dGluZ3MsXG4gICAgICAgIHMzU2V0dGluZ3M6IHRhcmdldE9wdHMuczNTZXR0aW5ncyxcbiAgICAgICAgZHluYW1vRGJTZXR0aW5nczogdGFyZ2V0T3B0cy5keW5hbW9EYlNldHRpbmdzLFxuICAgICAgICByZWRzaGlmdFNldHRpbmdzOiB0YXJnZXRPcHRzLnJlZHNoaWZ0U2V0dGluZ3MsXG4gICAgICAgIGtpbmVzaXNTZXR0aW5nczogdGFyZ2V0T3B0cy5raW5lc2lzU2V0dGluZ3MsXG4gICAgICAgIGthZmthU2V0dGluZ3M6IHRhcmdldE9wdHMua2Fma2FTZXR0aW5ncyxcbiAgICAgICAgb3BlblNlYXJjaFNldHRpbmdzOiB0YXJnZXRPcHRzLm9wZW5TZWFyY2hTZXR0aW5ncyxcbiAgICAgICAgbmVwdHVuZVNldHRpbmdzOiB0YXJnZXRPcHRzLm5lcHR1bmVTZXR0aW5ncyxcbiAgICAgICAgcmVkaXNTZXR0aW5nczogdGFyZ2V0T3B0cy5yZWRpc1NldHRpbmdzLFxuICAgICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBUYWJsZSBtYXBwaW5ncyDigJQgZGVmYXVsdCB0byBcImluY2x1ZGUgZXZlcnl0aGluZ1wiXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCB0YWJsZU1hcHBpbmdzID1cbiAgICAgIHByb3BzLnRhYmxlTWFwcGluZ3MgPz8gbmV3IFRhYmxlTWFwcGluZ3MoKS5pbmNsdWRlU2NoZW1hKCclJykudG9Kc29uKCk7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJlcGxpY2F0aW9uIHRhc2tcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRoaXMucmVwbGljYXRpb25UYXNrID0gbmV3IERtc1JlcGxpY2F0aW9uVGFzayh0aGlzLCAnUmVwbGljYXRpb25UYXNrJywge1xuICAgICAgcmVwbGljYXRpb25JbnN0YW5jZUFybjogdGhpcy5yZXBsaWNhdGlvbkluc3RhbmNlLnJlcGxpY2F0aW9uSW5zdGFuY2VBcm4sXG4gICAgICBzb3VyY2VFbmRwb2ludDogdGhpcy5zb3VyY2UsXG4gICAgICB0YXJnZXRFbmRwb2ludDogdGhpcy50YXJnZXQsXG4gICAgICBtaWdyYXRpb25UeXBlOiBwcm9wcy5taWdyYXRpb25UeXBlLFxuICAgICAgdGFibGVNYXBwaW5ncyxcbiAgICAgIHRhc2tTZXR0aW5nczogcHJvcHMudGFza1NldHRpbmdzLFxuICAgICAgY2RjU3RhcnRUaW1lOiBwcm9wcy5jZGNTdGFydFRpbWUsXG4gICAgICBjZGNTdGFydFBvc2l0aW9uOiBwcm9wcy5jZGNTdGFydFBvc2l0aW9uLFxuICAgICAgY2RjU3RvcFBvc2l0aW9uOiBwcm9wcy5jZGNTdG9wUG9zaXRpb24sXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuXG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUHJpdmF0ZSBoZWxwZXJzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByaXZhdGUgdmFsaWRhdGVQcm9wcyhwcm9wczogRG1zTWlncmF0aW9uUGlwZWxpbmVQcm9wcyk6IHZvaWQge1xuICAgIGNvbnN0IGhhc1NvdXJjZSA9ICEhcHJvcHMuc291cmNlRW5kcG9pbnQ7XG4gICAgY29uc3QgaGFzRXhpc3RpbmdTb3VyY2UgPSAhIXByb3BzLmV4aXN0aW5nU291cmNlRW5kcG9pbnQ7XG4gICAgaWYgKGhhc1NvdXJjZSAmJiBoYXNFeGlzdGluZ1NvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUHJvdmlkZSBlaXRoZXIgYHNvdXJjZUVuZHBvaW50YCBvciBgZXhpc3RpbmdTb3VyY2VFbmRwb2ludGAsIG5vdCBib3RoLicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWhhc1NvdXJjZSAmJiAhaGFzRXhpc3RpbmdTb3VyY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ09uZSBvZiBgc291cmNlRW5kcG9pbnRgIG9yIGBleGlzdGluZ1NvdXJjZUVuZHBvaW50YCBpcyByZXF1aXJlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNUYXJnZXQgPSAhIXByb3BzLnRhcmdldEVuZHBvaW50O1xuICAgIGNvbnN0IGhhc0V4aXN0aW5nVGFyZ2V0ID0gISFwcm9wcy5leGlzdGluZ1RhcmdldEVuZHBvaW50O1xuICAgIGlmIChoYXNUYXJnZXQgJiYgaGFzRXhpc3RpbmdUYXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1Byb3ZpZGUgZWl0aGVyIGB0YXJnZXRFbmRwb2ludGAgb3IgYGV4aXN0aW5nVGFyZ2V0RW5kcG9pbnRgLCBub3QgYm90aC4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKCFoYXNUYXJnZXQgJiYgIWhhc0V4aXN0aW5nVGFyZ2V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdPbmUgb2YgYHRhcmdldEVuZHBvaW50YCBvciBgZXhpc3RpbmdUYXJnZXRFbmRwb2ludGAgaXMgcmVxdWlyZWQuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
218
|
+
DmsMigrationPipeline[_a] = { fqn: "cdk-dms-replication.DmsMigrationPipeline", version: "0.1.0" };
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21pZ3JhdGlvbi1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUduQyw2Q0FBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLDJDQUF3RTtBQUN4RSx5Q0FBeUU7QUFDekUsbUNBQWdGO0FBQ2hGLGlFQUFnRTtBQUNoRSx5REFBd0Q7QUFDeEQscURBQWlEO0FBaVBqRCw4RUFBOEU7QUFDOUUsWUFBWTtBQUNaLDhFQUE4RTtBQUU5RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTO0lBZ0NqRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ3ZFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUM7UUFFeEQsMEVBQTBFO1FBQzFFLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUsb0RBQW9EO1FBQ3BELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNEJBQWdCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLGtDQUFrQztRQUNsQywwRUFBMEU7UUFDMUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FB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QyxDQUFDO0lBRUwsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxrQkFBa0I7SUFDbEIsOEVBQThFO0lBRXRFLGFBQWEsQ0FBQyxLQUFnQztRQUNwRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUN6QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUM7UUFDekQsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO1FBQ3pELElBQUksU0FBUyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBck5ILG9EQXNOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZW5zdXJlRG1zQ2xvdWRXYXRjaFJvbGUsIGVuc3VyZURtc1ZwY1JvbGUgfSBmcm9tICcuL2Rtcy1yb2xlcyc7XG5pbXBvcnQgeyBEbXNFbmRwb2ludCwgRG1zRW5kcG9pbnRQcm9wcywgSURtc0VuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBFbmRwb2ludFR5cGUsIE1pZ3JhdGlvblR5cGUsIFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25JbnN0YW5jZSB9IGZyb20gJy4vcmVwbGljYXRpb24taW5zdGFuY2UnO1xuaW1wb3J0IHsgRG1zUmVwbGljYXRpb25UYXNrIH0gZnJvbSAnLi9yZXBsaWNhdGlvbi10YXNrJztcbmltcG9ydCB7IFRhYmxlTWFwcGluZ3MgfSBmcm9tICcuL3RhYmxlLW1hcHBpbmdzJztcbmltcG9ydCB7IFRhc2tTZXR0aW5ncyB9IGZyb20gJy4vdGFzay1zZXR0aW5ncyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQgb2YgYSB7QGxpbmsgRG1zTWlncmF0aW9uUGlwZWxpbmV9LlxuICogRXh0ZW5kcyB7QGxpbmsgRG1zRW5kcG9pbnRQcm9wc30gYnV0IG9taXRzIGBlbmRwb2ludFR5cGVgIChhbHdheXMgU09VUkNFKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VFbmRwb2ludE9wdGlvbnMge1xuICByZWFkb25seSBlbmdpbmU6IERtc0VuZHBvaW50UHJvcHNbJ2VuZ2luZSddO1xuICByZWFkb25seSBlbmRwb2ludElkZW50aWZpZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZlck5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWJhc2UgcGFzc3dvcmQuIFRoZSByZXNvbHZlZCB2YWx1ZSBpcyBzdG9yZWQgYXMgKipwbGFpbnRleHQqKiBpbiB0aGVcbiAgICogQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUuIFByZWZlciBgc2VjcmV0c01hbmFnZXJTZWNyZXRJZGAgaW4gdGhlXG4gICAqIGVuZ2luZS1zcGVjaWZpYyBzZXR0aW5ncyBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZD86IGNkay5TZWNyZXRWYWx1ZTtcbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzPzogc3RyaW5nO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3NsTW9kZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbXlTcWxTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ215U3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcG9zdGdyZVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sncG9zdGdyZVNxbFNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9yYWNsZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snb3JhY2xlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgc3FsU2VydmVyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzcWxTZXJ2ZXJTZXR0aW5ncyddO1xuICByZWFkb25seSBzYXBBc2VTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NhcEFzZVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IGRiMlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snZGIyU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgbW9uZ29EYlNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbW9uZ29EYlNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHMzU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydzM1NldHRpbmdzJ107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHRhcmdldCBlbmRwb2ludCBvZiBhIHtAbGluayBEbXNNaWdyYXRpb25QaXBlbGluZX0uXG4gKiBFeHRlbmRzIHtAbGluayBEbXNFbmRwb2ludFByb3BzfSBidXQgb21pdHMgYGVuZHBvaW50VHlwZWAgKGFsd2F5cyBUQVJHRVQpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEVuZHBvaW50T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVuZ2luZTogRG1zRW5kcG9pbnRQcm9wc1snZW5naW5lJ107XG4gIHJlYWRvbmx5IGVuZHBvaW50SWRlbnRpZmllcj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2VydmVyTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhYmFzZSBwYXNzd29yZC4gVGhlIHJlc29sdmVkIHZhbHVlIGlzIHN0b3JlZCBhcyAqKnBsYWludGV4dCoqIGluIHRoZVxuICAgKiBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZS4gUHJlZmVyIGBzZWNyZXRzTWFuYWdlclNlY3JldElkYCBpbiB0aGVcbiAgICogZW5naW5lLXNwZWNpZmljIHNldHRpbmdzIGZvciBwcm9kdWN0aW9uIHdvcmtsb2Fkcy5cbiAgICovXG4gIHJlYWRvbmx5IHBhc3N3b3JkPzogY2RrLlNlY3JldFZhbHVlO1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuICByZWFkb25seSBzc2xNb2RlPzogc3RyaW5nO1xuICByZWFkb25seSBteVNxbFNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snbXlTcWxTZXR0aW5ncyddO1xuICByZWFkb25seSBwb3N0Z3JlU3FsU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydwb3N0Z3JlU3FsU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgb3JhY2xlU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydvcmFjbGVTZXR0aW5ncyddO1xuICByZWFkb25seSBzcWxTZXJ2ZXJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3NxbFNlcnZlclNldHRpbmdzJ107XG4gIHJlYWRvbmx5IHNhcEFzZVNldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1snc2FwQXNlU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZGIyU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydkYjJTZXR0aW5ncyddO1xuICByZWFkb25seSBtb25nb0RiU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydtb25nb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgczNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3MzU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgZHluYW1vRGJTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ2R5bmFtb0RiU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkc2hpZnRTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZHNoaWZ0U2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkga2luZXNpc1NldHRpbmdzPzogRG1zRW5kcG9pbnRQcm9wc1sna2luZXNpc1NldHRpbmdzJ107XG4gIHJlYWRvbmx5IGthZmthU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWydrYWZrYVNldHRpbmdzJ107XG4gIHJlYWRvbmx5IG9wZW5TZWFyY2hTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ29wZW5TZWFyY2hTZXR0aW5ncyddO1xuICByZWFkb25seSBuZXB0dW5lU2V0dGluZ3M/OiBEbXNFbmRwb2ludFByb3BzWyduZXB0dW5lU2V0dGluZ3MnXTtcbiAgcmVhZG9ubHkgcmVkaXNTZXR0aW5ncz86IERtc0VuZHBvaW50UHJvcHNbJ3JlZGlzU2V0dGluZ3MnXTtcbn1cblxuLyoqIFRvcC1sZXZlbCBwcm9wcyBmb3Ige0BsaW5rIERtc01pZ3JhdGlvblBpcGVsaW5lfS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG1zTWlncmF0aW9uUGlwZWxpbmVQcm9wcyB7XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBWUEMgaW4gd2hpY2ggdG8gcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBUaGUgaW5zdGFuY2UgaXMgcGxhY2VkIGluIHByaXZhdGUgc3VibmV0cy5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBzZWxlY3Rpb24gZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQGRlZmF1bHQgcHJpdmF0ZSBzdWJuZXRzIHdpdGggZWdyZXNzXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogUmVwbGljYXRpb24gaW5zdGFuY2UgY2xhc3MuXG4gICAqIEBkZWZhdWx0IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcy5SNklfTEFSR0VcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcz86IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcztcblxuICAvKipcbiAgICogQWxsb2NhdGVkIHN0b3JhZ2UgZm9yIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpbiBHQi5cbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBNdWx0aS1BWi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpQXo/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmdpbmUgdmVyc2lvbiBmb3IgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgaW4gdGhlIHJlZ2lvbiAoY2hvc2VuIGJ5IERNUylcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEtNUyBrZXkgZm9yIGVuY3J5cHRpbmcgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHN0b3JhZ2UgYXQgcmVzdC5cbiAgICogQSBuZXcga2V5IGlzIGNyZWF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5O1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRW5kcG9pbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogU291cmNlIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgZXhpc3RpbmdTb3VyY2VFbmRwb2ludGAg4oCUIG5vdCBib3RoLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRW5kcG9pbnQ/OiBTb3VyY2VFbmRwb2ludE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHtAbGluayBJRG1zRW5kcG9pbnR9IHRvIHVzZSBhcyB0aGUgc291cmNlLlxuICAgKiBQcm92aWRlIHRoaXMgT1IgYHNvdXJjZUVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1NvdXJjZUVuZHBvaW50PzogSURtc0VuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgZW5kcG9pbnQgY29uZmlndXJhdGlvbi5cbiAgICogUHJvdmlkZSB0aGlzIE9SIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCDigJQgbm90IGJvdGguXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRFbmRwb2ludD86IFRhcmdldEVuZHBvaW50T3B0aW9ucztcblxuICAvKipcbiAgICogQW4gZXhpc3Rpbmcge0BsaW5rIElEbXNFbmRwb2ludH0gdG8gdXNlIGFzIHRoZSB0YXJnZXQuXG4gICAqIFByb3ZpZGUgdGhpcyBPUiBgdGFyZ2V0RW5kcG9pbnRgIOKAlCBub3QgYm90aC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ/OiBJRG1zRW5kcG9pbnQ7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBSZXBsaWNhdGlvbiB0YXNrXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHR5cGUgb2YgbWlncmF0aW9uIHRvIHBlcmZvcm0uICovXG4gIHJlYWRvbmx5IG1pZ3JhdGlvblR5cGU6IE1pZ3JhdGlvblR5cGU7XG5cbiAgLyoqXG4gICAqIFRhYmxlIG1hcHBpbmdzIEpTT04gc3RyaW5nLlxuICAgKiBVc2Uge0BsaW5rIFRhYmxlTWFwcGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIERlZmF1bHRzIHRvIFwiaW5jbHVkZSBhbGwgdGFibGVzIGluIGFsbCBzY2hlbWFzXCIgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVNYXBwaW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogVGFzayBzZXR0aW5ncyBKU09OIHN0cmluZy5cbiAgICogVXNlIHtAbGluayBUYXNrU2V0dGluZ3N9IHRvIGJ1aWxkIHRoaXMuXG4gICAqIFNlbnNpYmxlIGRlZmF1bHRzIGFyZSBhcHBsaWVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhc2tTZXR0aW5ncz86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHRpbWUgKElTTy04NjAxIHN0cmluZyBvciBVbml4IGVwb2NoIHNlY29uZHMpLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBtaWdyYXRpb25UeXBlIGluY2x1ZGVzIENEQy5cbiAgICovXG4gIHJlYWRvbmx5IGNkY1N0YXJ0VGltZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0YXJ0IHBvc2l0aW9uIChMU04gb3IgZXF1aXZhbGVudCkuXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RhcnRQb3NpdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ0RDIHN0b3AgcG9zaXRpb24uXG4gICAqIE9ubHkgdXNlZCB3aGVuIG1pZ3JhdGlvblR5cGUgaW5jbHVkZXMgQ0RDLlxuICAgKi9cbiAgcmVhZG9ubHkgY2RjU3RvcFBvc2l0aW9uPzogc3RyaW5nO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gT2JzZXJ2YWJpbGl0eVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVDbG91ZFdhdGNoTG9ncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJldGVudGlvbiBwZXJpb2QgZm9yIHRoZSBDbG91ZFdhdGNoIGxvZyBncm91cC5cbiAgICogQGRlZmF1bHQgbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbG9ncy5SZXRlbnRpb25EYXlzO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSUFNIC8gc2VydmljZSByb2xlc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIHRoZSB0d28gYWNjb3VudC1sZXZlbCBETVMgc2VydmljZSByb2xlcyAoYGRtcy12cGMtcm9sZWBcbiAgICogYW5kIGBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGVgKSByZXF1aXJlZCBieSBETVMuXG4gICAqXG4gICAqIFdoZW4gYHRydWVgLCB0aGUgcm9sZXMgYXJlIGNyZWF0ZWQgaWRlbXBvdGVudGx5IHZpYSBhIGN1c3RvbSByZXNvdXJjZTogaWZcbiAgICogZWl0aGVyIHJvbGUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGFjY291bnQgKGNyZWF0ZWQgYnkgYW5vdGhlciBzdGFjayBvclxuICAgKiBtYW51YWxseSksIHRoZSBleGlzdGluZyByb2xlIGlzIHNpbGVudGx5IHJldXNlZCBhbmQgaXRzIHRydXN0IHBvbGljeSBpc1xuICAgKiBjb3JyZWN0ZWQgaWYgbmVjZXNzYXJ5LiBUaGUgcm9sZXMgYXJlIGNyZWF0ZWQgd2l0aCBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gXG4gICAqIGFuZCBhcmUgKipub3QqKiBsaWZlY3ljbGUtbWFuYWdlZCBieSB0aGlzIHN0YWNrIOKAlCB0aGV5IHdpbGwgbm90IGJlIGRlbGV0ZWRcbiAgICogd2hlbiB0aGUgc3RhY2sgaXMgZGVzdHJveWVkLiBJZiB5b3UgcmVxdWlyZSB0aGUgcm9sZXMgdG8gYmVcbiAgICogbGlmZWN5Y2xlLW1hbmFnZWQsIGNyZWF0ZSB0aGVtIGluIGEgZGVkaWNhdGVkIHN0YWNrIGFuZCBzZXQgdGhpcyB0b1xuICAgKiBgZmFsc2VgLCB0aGVuIHBhc3MgY3Jvc3Mtc3RhY2sgcmVmZXJlbmNlcyBhcyBuZWVkZWQuXG4gICAqXG4gICAqIFdoZW4gYGZhbHNlYCwgdGhlIGNvbnN0cnVjdCBleHBlY3RzIHRoZSByb2xlcyB0byBhbHJlYWR5IGJlIHByZXNlbnQgYW5kXG4gICAqIHNraXBzIGNyZWF0aW5nIHRoZW0uIFRoZSBgZG1zVnBjUm9sZWAgYW5kIGBkbXNDbG91ZFdhdGNoUm9sZWAgcHJvcGVydGllc1xuICAgKiB3aWxsIGJlIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEbXNTZXJ2aWNlUm9sZXM/OiBib29sZWFuO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gTGlmZWN5Y2xlXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogUmVtb3ZhbCBwb2xpY3kgYXBwbGllZCB0byBhbGwgcmVzb3VyY2VzIGluIHRoZSBwaXBlbGluZS5cbiAgICogQGRlZmF1bHQgY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbnN0cnVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQW4gTDMgQ0RLIHBhdHRlcm4gY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIGNvbXBsZXRlIERNUyBtaWdyYXRpb24gcGlwZWxpbmU6XG4gKlxuICogLSAqKlJlcGxpY2F0aW9uIGluc3RhbmNlKiog4oCUIHBsYWNlZCBpbiBwcml2YXRlIHN1Ym5ldHMgd2l0aCBLTVMgZW5jcnlwdGlvblxuICogICBhbmQgYSBkZWRpY2F0ZWQgc2VjdXJpdHkgZ3JvdXAuXG4gKiAtICoqU291cmNlIGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqVGFyZ2V0IGVuZHBvaW50Kiog4oCUIHN1cHBvcnRzIGV2ZXJ5IGVuZ2luZSBETVMgc3VwcG9ydHMuXG4gKiAtICoqUmVwbGljYXRpb24gdGFzayoqIOKAlCB3aXJlcyB0aGUgaW5zdGFuY2UsIGVuZHBvaW50cywgdGFibGUgbWFwcGluZ3MgYW5kXG4gKiAgIHRhc2sgc2V0dGluZ3MgdG9nZXRoZXIuXG4gKiAtICoqSUFNIHJvbGUqKiDigJQgZ3JhbnRzIERNUyBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIENsb3VkV2F0Y2ggTG9ncy5cbiAqIC0gKipDbG91ZFdhdGNoIGxvZyBncm91cCoqIOKAlCAob3B0aW9uYWwpIHJldGFpbnMgdGFzayBsb2dzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNeVNRTCDihpIgQXVyb3JhIFBvc3RncmVTUUwsIGZ1bGwtbG9hZC1hbmQtQ0RDXG4gKiBjb25zdCBwaXBlbGluZSA9IG5ldyBEbXNNaWdyYXRpb25QaXBlbGluZSh0aGlzLCAnTWlncmF0aW9uUGlwZWxpbmUnLCB7XG4gKiAgIHZwYyxcbiAqICAgbWlncmF0aW9uVHlwZTogTWlncmF0aW9uVHlwZS5GVUxMX0xPQURfQU5EX0NEQyxcbiAqICAgc291cmNlRW5kcG9pbnQ6IHtcbiAqICAgICBlbmdpbmU6IEVuZHBvaW50RW5naW5lLk1ZU1FMLFxuICogICAgIHNlcnZlck5hbWU6ICdteXNxbC5leGFtcGxlLmNvbScsXG4gKiAgICAgcG9ydDogMzMwNixcbiAqICAgICB1c2VybmFtZTogJ2Rtc191c2VyJyxcbiAqICAgICBwYXNzd29yZDogY2RrLlNlY3JldFZhbHVlLnNlY3JldHNNYW5hZ2VyKCdteXNxbC1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhcmdldEVuZHBvaW50OiB7XG4gKiAgICAgZW5naW5lOiBFbmRwb2ludEVuZ2luZS5BVVJPUkFfUE9TVEdSRVNRTCxcbiAqICAgICBzZXJ2ZXJOYW1lOiBjbHVzdGVyLmNsdXN0ZXJFbmRwb2ludC5ob3N0bmFtZSxcbiAqICAgICBwb3J0OiA1NDMyLFxuICogICAgIHVzZXJuYW1lOiAnZG1zX3VzZXInLFxuICogICAgIHBhc3N3b3JkOiBjZGsuU2VjcmV0VmFsdWUuc2VjcmV0c01hbmFnZXIoJ2F1cm9yYS1kbXMtc2VjcmV0JyksXG4gKiAgICAgZGF0YWJhc2VOYW1lOiAnbXlkYicsXG4gKiAgIH0sXG4gKiAgIHRhYmxlTWFwcGluZ3M6IG5ldyBUYWJsZU1hcHBpbmdzKCkuaW5jbHVkZVNjaGVtYSgncHVibGljJykudG9Kc29uKCksXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIERtc01pZ3JhdGlvblBpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEluc3RhbmNlIGZpZWxkc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIHByb3Zpc2lvbmVkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uSW5zdGFuY2U6IERtc1JlcGxpY2F0aW9uSW5zdGFuY2U7XG5cbiAgLyoqIFRoZSBzb3VyY2UgZW5kcG9pbnQgdXNlZCBieSB0aGlzIHBpcGVsaW5lLiAqL1xuICByZWFkb25seSBzb3VyY2U6IElEbXNFbmRwb2ludDtcblxuICAvKiogVGhlIHRhcmdldCBlbmRwb2ludCB1c2VkIGJ5IHRoaXMgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHRhcmdldDogSURtc0VuZHBvaW50O1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gdGFzayB0aGF0IGRyaXZlcyB0aGUgbWlncmF0aW9uLiAqL1xuICByZWFkb25seSByZXBsaWNhdGlvblRhc2s6IERtc1JlcGxpY2F0aW9uVGFzaztcblxuICAvKiogQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgZm9yIHRoZSB0YXNrIChpZiBlbmFibGVDbG91ZFdhdGNoTG9ncyBpcyB0cnVlKS4gKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBsb2dzLkxvZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3Qgd3JhcHBpbmcgdGhlIGN1c3RvbSByZXNvdXJjZXMgdGhhdCBjcmVhdGVkIHRoZSBgZG1zLWNsb3Vkd2F0Y2gtbG9ncy1yb2xlYC5cbiAgICogYHVuZGVmaW5lZGAgd2hlbiBgY3JlYXRlRG1zU2VydmljZVJvbGVzYCBpcyBgZmFsc2VgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG1zQ2xvdWRXYXRjaFJvbGU/OiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB3cmFwcGluZyB0aGUgY3VzdG9tIHJlc291cmNlcyB0aGF0IGNyZWF0ZWQgdGhlIGBkbXMtdnBjLXJvbGVgLlxuICAgKiBgdW5kZWZpbmVkYCB3aGVuIGBjcmVhdGVEbXNTZXJ2aWNlUm9sZXNgIGlzIGBmYWxzZWAuXG4gICAqL1xuICByZWFkb25seSBkbXNWcGNSb2xlPzogQ29uc3RydWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsaWRhdGVQcm9wcyhwcm9wcyk7XG5cbiAgICBjb25zdCByZW1vdmFsUG9saWN5ID0gcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuICAgIGNvbnN0IGNyZWF0ZVJvbGVzID0gcHJvcHMuY3JlYXRlRG1zU2VydmljZVJvbGVzID8/IHRydWU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIGRtcy12cGMtcm9sZSDigJQgYWNjb3VudC1sZXZlbCBzaW5nbGV0b24gcmVxdWlyZWQgYnkgRE1TIHRvIHBsYWNlXG4gICAgLy8gcmVwbGljYXRpb24gaW5zdGFuY2VzIGluc2lkZSBhIFZQQy4gTXVzdCBleGlzdCBiZWZvcmUgdGhlIGZpcnN0XG4gICAgLy8gQ2ZuUmVwbGljYXRpb25JbnN0YW5jZSBpcyBjcmVhdGVkIGluIHRoZSBhY2NvdW50LlxuICAgIC8vIFNraXAgd2hlbiBjcmVhdGVEbXNTZXJ2aWNlUm9sZXMgaXMgZmFsc2UgKHJvbGVzIGFscmVhZHkgZXhpc3QpLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKGNyZWF0ZVJvbGVzKSB7XG4gICAgICB0aGlzLmRtc1ZwY1JvbGUgPSBlbnN1cmVEbXNWcGNSb2xlKGNkay5TdGFjay5vZih0aGlzKSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBDbG91ZFdhdGNoIGxvZyBncm91cCAmIElBTSByb2xlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBlbmFibGVMb2dzID0gcHJvcHMuZW5hYmxlQ2xvdWRXYXRjaExvZ3MgPz8gdHJ1ZTtcblxuICAgIGlmIChlbmFibGVMb2dzKSB7XG4gICAgICB0aGlzLmxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAodGhpcywgJ1Rhc2tMb2dHcm91cCcsIHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBgL2F3cy9kbXMvdGFza3MvJHtpZH1gLFxuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbiA/PyBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChjcmVhdGVSb2xlcykge1xuICAgICAgICAvLyBkbXMtY2xvdWR3YXRjaC1sb2dzLXJvbGUgaXMgYW4gYWNjb3VudC1sZXZlbCBzaW5nbGV0b24g4oCUIERNUyByZXF1aXJlc1xuICAgICAgICAvLyB0aGlzIGV4YWN0IG5hbWUuIEd1YXJkIHdpdGggYSBzdGFjay1sZXZlbCBzaW5nbGV0b24gc28gZGVwbG95aW5nIG11bHRpcGxlXG4gICAgICAgIC8vIHBpcGVsaW5lcyBpbiB0aGUgc2FtZSBzdGFjayBkb2Vzbid0IGNyZWF0ZSBkdXBsaWNhdGUgcm9sZXMuXG4gICAgICAgIHRoaXMuZG1zQ2xvdWRXYXRjaFJvbGUgPSBlbnN1cmVEbXNDbG91ZFdhdGNoUm9sZShjZGsuU3RhY2sub2YodGhpcykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHRoaXMucmVwbGljYXRpb25JbnN0YW5jZSA9IG5ldyBEbXNSZXBsaWNhdGlvbkluc3RhbmNlKHRoaXMsICdSZXBsaWNhdGlvbkluc3RhbmNlJywge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy52cGNTdWJuZXRzLFxuICAgICAgcmVwbGljYXRpb25JbnN0YW5jZUNsYXNzOiBwcm9wcy5yZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MsXG4gICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBwcm9wcy5hbGxvY2F0ZWRTdG9yYWdlLFxuICAgICAgbXVsdGlBejogcHJvcHMubXVsdGlBeixcbiAgICAgIGVuZ2luZVZlcnNpb246IHByb3BzLmVuZ2luZVZlcnNpb24sXG4gICAgICBrbXNLZXk6IHByb3BzLmVuY3J5cHRpb25LZXksXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuICAgIC8vIGRtcy12cGMtcm9sZSBtdXN0IGV4aXN0IGJlZm9yZSBETVMgY2FuIGRlc2NyaWJlIFZQQyBzdWJuZXRzIChzdWJuZXQgZ3JvdXApXG4gICAgLy8gb3IgcGxhY2UgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIGluc2lkZSBhIFZQQy5cbiAgICBpZiAodGhpcy5kbXNWcGNSb2xlKSB7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2Uuc3VibmV0R3JvdXAubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuZG1zVnBjUm9sZSk7XG4gICAgICB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UuY2ZuUmVwbGljYXRpb25JbnN0YW5jZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5kbXNWcGNSb2xlKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNvdXJjZSBlbmRwb2ludFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgaWYgKHByb3BzLmV4aXN0aW5nU291cmNlRW5kcG9pbnQpIHtcbiAgICAgIHRoaXMuc291cmNlID0gcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc291cmNlT3B0cyA9IHByb3BzLnNvdXJjZUVuZHBvaW50ITtcbiAgICAgIHRoaXMuc291cmNlID0gbmV3IERtc0VuZHBvaW50KHRoaXMsICdTb3VyY2VFbmRwb2ludCcsIHtcbiAgICAgICAgZW5kcG9pbnRUeXBlOiBFbmRwb2ludFR5cGUuU09VUkNFLFxuICAgICAgICBlbmdpbmU6IHNvdXJjZU9wdHMuZW5naW5lLFxuICAgICAgICBlbmRwb2ludElkZW50aWZpZXI6IHNvdXJjZU9wdHMuZW5kcG9pbnRJZGVudGlmaWVyLFxuICAgICAgICBzZXJ2ZXJOYW1lOiBzb3VyY2VPcHRzLnNlcnZlck5hbWUsXG4gICAgICAgIHBvcnQ6IHNvdXJjZU9wdHMucG9ydCxcbiAgICAgICAgdXNlcm5hbWU6IHNvdXJjZU9wdHMudXNlcm5hbWUsXG4gICAgICAgIHBhc3N3b3JkOiBzb3VyY2VPcHRzLnBhc3N3b3JkLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHNvdXJjZU9wdHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBleHRyYUNvbm5lY3Rpb25BdHRyaWJ1dGVzOiBzb3VyY2VPcHRzLmV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXMsXG4gICAgICAgIGNlcnRpZmljYXRlQXJuOiBzb3VyY2VPcHRzLmNlcnRpZmljYXRlQXJuLFxuICAgICAgICBzc2xNb2RlOiBzb3VyY2VPcHRzLnNzbE1vZGUsXG4gICAgICAgIG15U3FsU2V0dGluZ3M6IHNvdXJjZU9wdHMubXlTcWxTZXR0aW5ncyxcbiAgICAgICAgcG9zdGdyZVNxbFNldHRpbmdzOiBzb3VyY2VPcHRzLnBvc3RncmVTcWxTZXR0aW5ncyxcbiAgICAgICAgb3JhY2xlU2V0dGluZ3M6IHNvdXJjZU9wdHMub3JhY2xlU2V0dGluZ3MsXG4gICAgICAgIHNxbFNlcnZlclNldHRpbmdzOiBzb3VyY2VPcHRzLnNxbFNlcnZlclNldHRpbmdzLFxuICAgICAgICBzYXBBc2VTZXR0aW5nczogc291cmNlT3B0cy5zYXBBc2VTZXR0aW5ncyxcbiAgICAgICAgZGIyU2V0dGluZ3M6IHNvdXJjZU9wdHMuZGIyU2V0dGluZ3MsXG4gICAgICAgIG1vbmdvRGJTZXR0aW5nczogc291cmNlT3B0cy5tb25nb0RiU2V0dGluZ3MsXG4gICAgICAgIHMzU2V0dGluZ3M6IHNvdXJjZU9wdHMuczNTZXR0aW5ncyxcbiAgICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gVGFyZ2V0IGVuZHBvaW50XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBpZiAocHJvcHMuZXhpc3RpbmdUYXJnZXRFbmRwb2ludCkge1xuICAgICAgdGhpcy50YXJnZXQgPSBwcm9wcy5leGlzdGluZ1RhcmdldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0YXJnZXRPcHRzID0gcHJvcHMudGFyZ2V0RW5kcG9pbnQhO1xuICAgICAgdGhpcy50YXJnZXQgPSBuZXcgRG1zRW5kcG9pbnQodGhpcywgJ1RhcmdldEVuZHBvaW50Jywge1xuICAgICAgICBlbmRwb2ludFR5cGU6IEVuZHBvaW50VHlwZS5UQVJHRVQsXG4gICAgICAgIGVuZ2luZTogdGFyZ2V0T3B0cy5lbmdpbmUsXG4gICAgICAgIGVuZHBvaW50SWRlbnRpZmllcjogdGFyZ2V0T3B0cy5lbmRwb2ludElkZW50aWZpZXIsXG4gICAgICAgIHNlcnZlck5hbWU6IHRhcmdldE9wdHMuc2VydmVyTmFtZSxcbiAgICAgICAgcG9ydDogdGFyZ2V0T3B0cy5wb3J0LFxuICAgICAgICB1c2VybmFtZTogdGFyZ2V0T3B0cy51c2VybmFtZSxcbiAgICAgICAgcGFzc3dvcmQ6IHRhcmdldE9wdHMucGFzc3dvcmQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogdGFyZ2V0T3B0cy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGV4dHJhQ29ubmVjdGlvbkF0dHJpYnV0ZXM6IHRhcmdldE9wdHMuZXh0cmFDb25uZWN0aW9uQXR0cmlidXRlcyxcbiAgICAgICAgY2VydGlmaWNhdGVBcm46IHRhcmdldE9wdHMuY2VydGlmaWNhdGVBcm4sXG4gICAgICAgIHNzbE1vZGU6IHRhcmdldE9wdHMuc3NsTW9kZSxcbiAgICAgICAgbXlTcWxTZXR0aW5nczogdGFyZ2V0T3B0cy5teVNxbFNldHRpbmdzLFxuICAgICAgICBwb3N0Z3JlU3FsU2V0dGluZ3M6IHRhcmdldE9wdHMucG9zdGdyZVNxbFNldHRpbmdzLFxuICAgICAgICBvcmFjbGVTZXR0aW5nczogdGFyZ2V0T3B0cy5vcmFjbGVTZXR0aW5ncyxcbiAgICAgICAgc3FsU2VydmVyU2V0dGluZ3M6IHRhcmdldE9wdHMuc3FsU2VydmVyU2V0dGluZ3MsXG4gICAgICAgIHNhcEFzZVNldHRpbmdzOiB0YXJnZXRPcHRzLnNhcEFzZVNldHRpbmdzLFxuICAgICAgICBkYjJTZXR0aW5nczogdGFyZ2V0T3B0cy5kYjJTZXR0aW5ncyxcbiAgICAgICAgbW9uZ29EYlNldHRpbmdzOiB0YXJnZXRPcHRzLm1vbmdvRGJTZXR0aW5ncyxcbiAgICAgICAgczNTZXR0aW5nczogdGFyZ2V0T3B0cy5zM1NldHRpbmdzLFxuICAgICAgICBkeW5hbW9EYlNldHRpbmdzOiB0YXJnZXRPcHRzLmR5bmFtb0RiU2V0dGluZ3MsXG4gICAgICAgIHJlZHNoaWZ0U2V0dGluZ3M6IHRhcmdldE9wdHMucmVkc2hpZnRTZXR0aW5ncyxcbiAgICAgICAga2luZXNpc1NldHRpbmdzOiB0YXJnZXRPcHRzLmtpbmVzaXNTZXR0aW5ncyxcbiAgICAgICAga2Fma2FTZXR0aW5nczogdGFyZ2V0T3B0cy5rYWZrYVNldHRpbmdzLFxuICAgICAgICBvcGVuU2VhcmNoU2V0dGluZ3M6IHRhcmdldE9wdHMub3BlblNlYXJjaFNldHRpbmdzLFxuICAgICAgICBuZXB0dW5lU2V0dGluZ3M6IHRhcmdldE9wdHMubmVwdHVuZVNldHRpbmdzLFxuICAgICAgICByZWRpc1NldHRpbmdzOiB0YXJnZXRPcHRzLnJlZGlzU2V0dGluZ3MsXG4gICAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRhYmxlIG1hcHBpbmdzIOKAlCBkZWZhdWx0IHRvIFwiaW5jbHVkZSBldmVyeXRoaW5nXCJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IHRhYmxlTWFwcGluZ3MgPVxuICAgICAgcHJvcHMudGFibGVNYXBwaW5ncyA/PyBuZXcgVGFibGVNYXBwaW5ncygpLmluY2x1ZGVTY2hlbWEoJyUnKS50b0pzb24oKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gdGFza1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGhpcy5yZXBsaWNhdGlvblRhc2sgPSBuZXcgRG1zUmVwbGljYXRpb25UYXNrKHRoaXMsICdSZXBsaWNhdGlvblRhc2snLCB7XG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlQXJuOiB0aGlzLnJlcGxpY2F0aW9uSW5zdGFuY2UucmVwbGljYXRpb25JbnN0YW5jZUFybixcbiAgICAgIHNvdXJjZUVuZHBvaW50OiB0aGlzLnNvdXJjZSxcbiAgICAgIHRhcmdldEVuZHBvaW50OiB0aGlzLnRhcmdldCxcbiAgICAgIG1pZ3JhdGlvblR5cGU6IHByb3BzLm1pZ3JhdGlvblR5cGUsXG4gICAgICB0YWJsZU1hcHBpbmdzLFxuICAgICAgdGFza1NldHRpbmdzOiBwcm9wcy50YXNrU2V0dGluZ3MsXG4gICAgICBjZGNTdGFydFRpbWU6IHByb3BzLmNkY1N0YXJ0VGltZSxcbiAgICAgIGNkY1N0YXJ0UG9zaXRpb246IHByb3BzLmNkY1N0YXJ0UG9zaXRpb24sXG4gICAgICBjZGNTdG9wUG9zaXRpb246IHByb3BzLmNkY1N0b3BQb3NpdGlvbixcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG5cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBQcml2YXRlIGhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVByb3BzKHByb3BzOiBEbXNNaWdyYXRpb25QaXBlbGluZVByb3BzKTogdm9pZCB7XG4gICAgY29uc3QgaGFzU291cmNlID0gISFwcm9wcy5zb3VyY2VFbmRwb2ludDtcbiAgICBjb25zdCBoYXNFeGlzdGluZ1NvdXJjZSA9ICEhcHJvcHMuZXhpc3RpbmdTb3VyY2VFbmRwb2ludDtcbiAgICBpZiAoaGFzU291cmNlICYmIGhhc0V4aXN0aW5nU291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdQcm92aWRlIGVpdGhlciBgc291cmNlRW5kcG9pbnRgIG9yIGBleGlzdGluZ1NvdXJjZUVuZHBvaW50YCwgbm90IGJvdGguJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghaGFzU291cmNlICYmICFoYXNFeGlzdGluZ1NvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT25lIG9mIGBzb3VyY2VFbmRwb2ludGAgb3IgYGV4aXN0aW5nU291cmNlRW5kcG9pbnRgIGlzIHJlcXVpcmVkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc1RhcmdldCA9ICEhcHJvcHMudGFyZ2V0RW5kcG9pbnQ7XG4gICAgY29uc3QgaGFzRXhpc3RpbmdUYXJnZXQgPSAhIXByb3BzLmV4aXN0aW5nVGFyZ2V0RW5kcG9pbnQ7XG4gICAgaWYgKGhhc1RhcmdldCAmJiBoYXNFeGlzdGluZ1RhcmdldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnUHJvdmlkZSBlaXRoZXIgYHRhcmdldEVuZHBvaW50YCBvciBgZXhpc3RpbmdUYXJnZXRFbmRwb2ludGAsIG5vdCBib3RoLicsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWhhc1RhcmdldCAmJiAhaGFzRXhpc3RpbmdUYXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ09uZSBvZiBgdGFyZ2V0RW5kcG9pbnRgIG9yIGBleGlzdGluZ1RhcmdldEVuZHBvaW50YCBpcyByZXF1aXJlZC4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -89,5 +89,5 @@ class DmsReplicationInstance extends constructs_1.Construct {
|
|
|
89
89
|
}
|
|
90
90
|
exports.DmsReplicationInstance = DmsReplicationInstance;
|
|
91
91
|
_a = JSII_RTTI_SYMBOL_1;
|
|
92
|
-
DmsReplicationInstance[_a] = { fqn: "cdk-dms-replication.DmsReplicationInstance", version: "0.0
|
|
92
|
+
DmsReplicationInstance[_a] = { fqn: "cdk-dms-replication.DmsReplicationInstance", version: "0.1.0" };
|
|
93
93
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGljYXRpb24taW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVwbGljYXRpb24taW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQXVDO0FBQ3ZDLG1DQUFtRDtBQW9GbkQ7Ozs7O0dBS0c7QUFDSCxNQUFhLHNCQUF1QixTQUFRLHNCQUFTO0lBZ0JuRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMEVBQTBFO1FBQzFFLFVBQVU7UUFDViwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLGFBQWE7WUFDaEIsS0FBSyxDQUFDLE1BQU07Z0JBQ1osSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7b0JBQ2pDLFdBQVcsRUFBRSwrQ0FBK0MsRUFBRSxFQUFFO29CQUNoRSxpQkFBaUIsRUFBRSxJQUFJO29CQUN2QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU87aUJBQ2hFLENBQUMsQ0FBQztRQUVMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsMEVBQTBFO1FBQzFFLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQzVDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtnQkFDdEQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFdBQVcsRUFBRSwrQ0FBK0MsRUFBRSxFQUFFO2dCQUNoRSxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENB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LWNkay1saWInO1xuaW1wb3J0ICogYXMgZG1zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1kbXMnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MgfSBmcm9tICcuL2VudW1zJztcblxuLyoqIFByb3BzIGZvciB7QGxpbmsgRG1zUmVwbGljYXRpb25JbnN0YW5jZX0uICovXG5leHBvcnQgaW50ZXJmYWNlIERtc1JlcGxpY2F0aW9uSW5zdGFuY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBJbnN0YW5jZSBjbGFzcyBmb3IgdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3MuUjZJX0xBUkdFXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M/OiBSZXBsaWNhdGlvbkluc3RhbmNlQ2xhc3M7XG5cbiAgLyoqXG4gICAqIFZQQyBpbiB3aGljaCB0byBwbGFjZSB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIFRoZSBjb25zdHJ1Y3QgY3JlYXRlcyBhIGRlZGljYXRlZCBzdWJuZXQgZ3JvdXAgZnJvbSB0aGUgcHJpdmF0ZSBzdWJuZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogU3BlY2lmaWMgc3VibmV0cyB0byB1c2UgZm9yIHRoZSByZXBsaWNhdGlvbiBzdWJuZXQgZ3JvdXAuXG4gICAqIERlZmF1bHRzIHRvIGFsbCBwcml2YXRlIHN1Ym5ldHMgaW4gdGhlIFZQQy5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cHMgdG8gYXR0YWNoIHRvIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZS5cbiAgICogQSBuZXcgc2VjdXJpdHkgZ3JvdXAgaXMgY3JlYXRlZCBpZiBub25lIGFyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogZWMyLklTZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBzdG9yYWdlIGF0IHJlc3QuXG4gICAqIEEgbmV3IGtleSBpcyBjcmVhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGttc0tleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBBbGxvY2F0ZWQgc3RvcmFnZSBpbiBHQi5cbiAgICogQGRlZmF1bHQgMTAwXG4gICAqL1xuICByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBNdWx0aS1BWi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpQXo/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXBsaWNhdGlvbiBpbnN0YW5jZSBpcyBwdWJsaWNseSBhY2Nlc3NpYmxlLlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSBpcyBzdHJvbmdseSBkaXNjb3VyYWdlZCBmb3IgcHJvZHVjdGlvbiB3b3JrbG9hZHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNseUFjY2Vzc2libGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IG1pbm9yIHZlcnNpb24gdXBncmFkZXMgdG8gYmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5IGR1cmluZyBtYWludGVuYW5jZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmVmZXJyZWQgbWFpbnRlbmFuY2Ugd2luZG93LCBlLmcuIFwic3VuOjA0OjAwLXN1bjowNDozMFwiLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcGxpY2F0aW9uIGVuZ2luZSB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgaW4gdGhlIHJlZ2lvbiAoY2hvc2VuIGJ5IERNUylcbiAgICovXG4gIHJlYWRvbmx5IGVuZ2luZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZ2ljYWwgbmFtZSBvZiB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqIFVzZWQgaW4gdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIGlkZW50aWZpZXIgYW5kIHJlc291cmNlIG5hbWluZy5cbiAgICogQGRlZmF1bHQgaWQgb2YgdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25JbnN0YW5jZUlkZW50aWZpZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGFwcGxpZWQgdG8gdGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKiBAZGVmYXVsdCBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQW4gTDItc3R5bGUgY29uc3RydWN0IHRoYXQgcHJvdmlzaW9ucyBhIERNUyByZXBsaWNhdGlvbiBpbnN0YW5jZSB3aXRoOlxuICogLSBQcml2YXRlIHN1Ym5ldCBwbGFjZW1lbnQgdmlhIGEgZGVkaWNhdGVkIHN1Ym5ldCBncm91cFxuICogLSBLTVMgZW5jcnlwdGlvbiBhdCByZXN0IChrZXkgY3JlYXRlZCBpZiBub3QgcHJvdmlkZWQpXG4gKiAtIEEgZGVkaWNhdGVkIHNlY3VyaXR5IGdyb3VwIChjcmVhdGVkIGlmIG5vdCBwcm92aWRlZClcbiAqL1xuZXhwb3J0IGNsYXNzIERtc1JlcGxpY2F0aW9uSW5zdGFuY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKiogVGhlIHVuZGVybHlpbmcgQ2xvdWRGb3JtYXRpb24gcmVwbGljYXRpb24gaW5zdGFuY2UgcmVzb3VyY2UuICovXG4gIHJlYWRvbmx5IGNmblJlcGxpY2F0aW9uSW5zdGFuY2U6IGRtcy5DZm5SZXBsaWNhdGlvbkluc3RhbmNlO1xuXG4gIC8qKiBUaGUgcmVwbGljYXRpb24gc3VibmV0IGdyb3VwIGNyZWF0ZWQgZm9yIHRoaXMgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IHN1Ym5ldEdyb3VwOiBkbXMuQ2ZuUmVwbGljYXRpb25TdWJuZXRHcm91cDtcblxuICAvKiogVGhlIEtNUyBrZXkgdXNlZCBmb3Igc3RvcmFnZSBlbmNyeXB0aW9uLiAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5OiBrbXMuSUtleTtcblxuICAvKiogVGhlIHNlY3VyaXR5IGdyb3VwIGF0dGFjaGVkIHRvIHRoaXMgaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IGVjMi5JU2VjdXJpdHlHcm91cDtcblxuICAvKiogVGhlIHJlcGxpY2F0aW9uIGluc3RhbmNlIEFSTi4gKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25JbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbXNSZXBsaWNhdGlvbkluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBLTVMga2V5XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPVxuICAgICAgcHJvcHMua21zS2V5ID8/XG4gICAgICBuZXcga21zLktleSh0aGlzLCAnRW5jcnlwdGlvbktleScsIHtcbiAgICAgICAgZGVzY3JpcHRpb246IGBETVMgcmVwbGljYXRpb24gaW5zdGFuY2UgZW5jcnlwdGlvbiBrZXkgZm9yICR7aWR9YCxcbiAgICAgICAgZW5hYmxlS2V5Um90YXRpb246IHRydWUsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIH0pO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTZWN1cml0eSBncm91cFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgY29uc3QgcHJvdmlkZWQgPSBwcm9wcy5zZWN1cml0eUdyb3VwcyA/PyBbXTtcbiAgICBpZiAocHJvdmlkZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRE1TIHJlcGxpY2F0aW9uIGluc3RhbmNlIHNlY3VyaXR5IGdyb3VwIGZvciAke2lkfWAsXG4gICAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHNnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBwcm92aWRlZFswXTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN1cml0eUdyb3VwSWRzID0gcHJvdmlkZWQubGVuZ3RoID4gMFxuICAgICAgPyBwcm92aWRlZC5tYXAoKHNnKSA9PiBzZy5zZWN1cml0eUdyb3VwSWQpXG4gICAgICA6IFt0aGlzLnNlY3VyaXR5R3JvdXAuc2VjdXJpdHlHcm91cElkXTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU3VibmV0IGdyb3VwXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBjb25zdCBzdWJuZXRTZWxlY3Rpb24gPSBwcm9wcy52cGNTdWJuZXRzID8/IHtcbiAgICAgIHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1MsXG4gICAgfTtcbiAgICBjb25zdCBzdWJuZXRzID0gcHJvcHMudnBjLnNlbGVjdFN1Ym5ldHMoc3VibmV0U2VsZWN0aW9uKTtcblxuICAgIHRoaXMuc3VibmV0R3JvdXAgPSBuZXcgZG1zLkNmblJlcGxpY2F0aW9uU3VibmV0R3JvdXAodGhpcywgJ1N1Ym5ldEdyb3VwJywge1xuICAgICAgcmVwbGljYXRpb25TdWJuZXRHcm91cERlc2NyaXB0aW9uOiBgRE1TIHN1Ym5ldCBncm91cCBmb3IgJHtpZH1gLFxuICAgICAgc3VibmV0SWRzOiBzdWJuZXRzLnN1Ym5ldElkcyxcbiAgICB9KTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVwbGljYXRpb24gaW5zdGFuY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGNvbnN0IGluc3RhbmNlSWRlbnRpZmllciA9XG4gICAgICBwcm9wcy5yZXBsaWNhdGlvbkluc3RhbmNlSWRlbnRpZmllciA/PyBjZGsuTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiA2MyB9KS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlID0gbmV3IGRtcy5DZm5SZXBsaWNhdGlvbkluc3RhbmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzczogcHJvcHMucmVwbGljYXRpb25JbnN0YW5jZUNsYXNzID8/IFJlcGxpY2F0aW9uSW5zdGFuY2VDbGFzcy5SNklfTEFSR0UsXG4gICAgICByZXBsaWNhdGlvbkluc3RhbmNlSWRlbnRpZmllcjogaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSA/PyAxMDAsXG4gICAgICBlbmdpbmVWZXJzaW9uOiBwcm9wcy5lbmdpbmVWZXJzaW9uLFxuICAgICAga21zS2V5SWQ6IHRoaXMuZW5jcnlwdGlvbktleS5rZXlBcm4sXG4gICAgICBtdWx0aUF6OiBwcm9wcy5tdWx0aUF6ID8/IGZhbHNlLFxuICAgICAgcHVibGljbHlBY2Nlc3NpYmxlOiBwcm9wcy5wdWJsaWNseUFjY2Vzc2libGUgPz8gZmFsc2UsXG4gICAgICBhdXRvTWlub3JWZXJzaW9uVXBncmFkZTogcHJvcHMuYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUgPz8gdHJ1ZSxcbiAgICAgIHJlcGxpY2F0aW9uU3VibmV0R3JvdXBJZGVudGlmaWVyOiB0aGlzLnN1Ym5ldEdyb3VwLnJlZixcbiAgICAgIHZwY1NlY3VyaXR5R3JvdXBJZHM6IHNlY3VyaXR5R3JvdXBJZHMsXG4gICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzogcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3csXG4gICAgfSk7XG4gICAgdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlLmFwcGx5UmVtb3ZhbFBvbGljeShcbiAgICAgIHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXBsaWNhdGlvbkluc3RhbmNlQXJuID0gdGhpcy5jZm5SZXBsaWNhdGlvbkluc3RhbmNlLnJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcmVwbGljYXRpb24gaW5zdGFuY2Ugb24gYSBnaXZlbiBwb3J0IGZyb20gYSBwZWVyLlxuICAgKiBVc2VmdWwgd2hlbiB0aGUgc291cmNlIG9yIHRhcmdldCBkYXRhYmFzZSBzZWN1cml0eSBncm91cCBuZWVkcyB0byB0cnVzdCB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICBhbGxvd0luYm91bmRGcm9tKHBlZXI6IGVjMi5JUGVlciwgcG9ydDogZWMyLlBvcnQsIGRlc2NyaXB0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VjdXJpdHlHcm91cCBpbnN0YW5jZW9mIGVjMi5TZWN1cml0eUdyb3VwKSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUocGVlciwgcG9ydCwgZGVzY3JpcHRpb24gPz8gJ0FsbG93IERNUyByZXBsaWNhdGlvbiBpbnN0YW5jZScpO1xuICAgIH1cbiAgfVxufVxuIl19
|