@gammarers/aws-rds-database-running-schedule-stack 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +30 -128
- package/API.md +0 -84
- package/lib/index.d.ts +0 -1
- package/lib/index.js +3 -6
- package/package.json +4 -2
package/.jsii
CHANGED
|
@@ -3734,7 +3734,7 @@
|
|
|
3734
3734
|
"kind": "interface",
|
|
3735
3735
|
"locationInModule": {
|
|
3736
3736
|
"filename": "src/index.ts",
|
|
3737
|
-
"line":
|
|
3737
|
+
"line": 11
|
|
3738
3738
|
},
|
|
3739
3739
|
"name": "CustomNaming",
|
|
3740
3740
|
"properties": [
|
|
@@ -3746,7 +3746,7 @@
|
|
|
3746
3746
|
"immutable": true,
|
|
3747
3747
|
"locationInModule": {
|
|
3748
3748
|
"filename": "src/index.ts",
|
|
3749
|
-
"line":
|
|
3749
|
+
"line": 14
|
|
3750
3750
|
},
|
|
3751
3751
|
"name": "notificationTopicDisplayName",
|
|
3752
3752
|
"type": {
|
|
@@ -3761,7 +3761,7 @@
|
|
|
3761
3761
|
"immutable": true,
|
|
3762
3762
|
"locationInModule": {
|
|
3763
3763
|
"filename": "src/index.ts",
|
|
3764
|
-
"line":
|
|
3764
|
+
"line": 13
|
|
3765
3765
|
},
|
|
3766
3766
|
"name": "notificationTopicName",
|
|
3767
3767
|
"type": {
|
|
@@ -3776,7 +3776,7 @@
|
|
|
3776
3776
|
"immutable": true,
|
|
3777
3777
|
"locationInModule": {
|
|
3778
3778
|
"filename": "src/index.ts",
|
|
3779
|
-
"line":
|
|
3779
|
+
"line": 17
|
|
3780
3780
|
},
|
|
3781
3781
|
"name": "schedulerRoleName",
|
|
3782
3782
|
"type": {
|
|
@@ -3791,7 +3791,7 @@
|
|
|
3791
3791
|
"immutable": true,
|
|
3792
3792
|
"locationInModule": {
|
|
3793
3793
|
"filename": "src/index.ts",
|
|
3794
|
-
"line":
|
|
3794
|
+
"line": 18
|
|
3795
3795
|
},
|
|
3796
3796
|
"name": "startScheduleName",
|
|
3797
3797
|
"type": {
|
|
@@ -3806,7 +3806,7 @@
|
|
|
3806
3806
|
"immutable": true,
|
|
3807
3807
|
"locationInModule": {
|
|
3808
3808
|
"filename": "src/index.ts",
|
|
3809
|
-
"line":
|
|
3809
|
+
"line": 15
|
|
3810
3810
|
},
|
|
3811
3811
|
"name": "stateMachineName",
|
|
3812
3812
|
"type": {
|
|
@@ -3821,7 +3821,7 @@
|
|
|
3821
3821
|
"immutable": true,
|
|
3822
3822
|
"locationInModule": {
|
|
3823
3823
|
"filename": "src/index.ts",
|
|
3824
|
-
"line":
|
|
3824
|
+
"line": 16
|
|
3825
3825
|
},
|
|
3826
3826
|
"name": "stateMachineRoleName",
|
|
3827
3827
|
"type": {
|
|
@@ -3836,7 +3836,7 @@
|
|
|
3836
3836
|
"immutable": true,
|
|
3837
3837
|
"locationInModule": {
|
|
3838
3838
|
"filename": "src/index.ts",
|
|
3839
|
-
"line":
|
|
3839
|
+
"line": 19
|
|
3840
3840
|
},
|
|
3841
3841
|
"name": "stopScheduleName",
|
|
3842
3842
|
"type": {
|
|
@@ -3851,7 +3851,7 @@
|
|
|
3851
3851
|
"immutable": true,
|
|
3852
3852
|
"locationInModule": {
|
|
3853
3853
|
"filename": "src/index.ts",
|
|
3854
|
-
"line":
|
|
3854
|
+
"line": 12
|
|
3855
3855
|
},
|
|
3856
3856
|
"name": "type",
|
|
3857
3857
|
"type": {
|
|
@@ -3871,7 +3871,7 @@
|
|
|
3871
3871
|
"kind": "interface",
|
|
3872
3872
|
"locationInModule": {
|
|
3873
3873
|
"filename": "src/index.ts",
|
|
3874
|
-
"line":
|
|
3874
|
+
"line": 36
|
|
3875
3875
|
},
|
|
3876
3876
|
"name": "NotificationsProperty",
|
|
3877
3877
|
"properties": [
|
|
@@ -3883,7 +3883,7 @@
|
|
|
3883
3883
|
"immutable": true,
|
|
3884
3884
|
"locationInModule": {
|
|
3885
3885
|
"filename": "src/index.ts",
|
|
3886
|
-
"line":
|
|
3886
|
+
"line": 37
|
|
3887
3887
|
},
|
|
3888
3888
|
"name": "emails",
|
|
3889
3889
|
"optional": true,
|
|
@@ -3912,7 +3912,7 @@
|
|
|
3912
3912
|
},
|
|
3913
3913
|
"locationInModule": {
|
|
3914
3914
|
"filename": "src/index.ts",
|
|
3915
|
-
"line":
|
|
3915
|
+
"line": 50
|
|
3916
3916
|
},
|
|
3917
3917
|
"parameters": [
|
|
3918
3918
|
{
|
|
@@ -3938,7 +3938,7 @@
|
|
|
3938
3938
|
"kind": "class",
|
|
3939
3939
|
"locationInModule": {
|
|
3940
3940
|
"filename": "src/index.ts",
|
|
3941
|
-
"line":
|
|
3941
|
+
"line": 49
|
|
3942
3942
|
},
|
|
3943
3943
|
"name": "RDSDatabaseRunningScheduleStack",
|
|
3944
3944
|
"symbolId": "src/index:RDSDatabaseRunningScheduleStack"
|
|
@@ -3956,7 +3956,7 @@
|
|
|
3956
3956
|
"kind": "interface",
|
|
3957
3957
|
"locationInModule": {
|
|
3958
3958
|
"filename": "src/index.ts",
|
|
3959
|
-
"line":
|
|
3959
|
+
"line": 40
|
|
3960
3960
|
},
|
|
3961
3961
|
"name": "RDSDatabaseRunningScheduleStackProps",
|
|
3962
3962
|
"properties": [
|
|
@@ -3968,7 +3968,7 @@
|
|
|
3968
3968
|
"immutable": true,
|
|
3969
3969
|
"locationInModule": {
|
|
3970
3970
|
"filename": "src/index.ts",
|
|
3971
|
-
"line":
|
|
3971
|
+
"line": 41
|
|
3972
3972
|
},
|
|
3973
3973
|
"name": "targetResource",
|
|
3974
3974
|
"type": {
|
|
@@ -3983,7 +3983,7 @@
|
|
|
3983
3983
|
"immutable": true,
|
|
3984
3984
|
"locationInModule": {
|
|
3985
3985
|
"filename": "src/index.ts",
|
|
3986
|
-
"line":
|
|
3986
|
+
"line": 42
|
|
3987
3987
|
},
|
|
3988
3988
|
"name": "enableScheduling",
|
|
3989
3989
|
"optional": true,
|
|
@@ -3999,7 +3999,7 @@
|
|
|
3999
3999
|
"immutable": true,
|
|
4000
4000
|
"locationInModule": {
|
|
4001
4001
|
"filename": "src/index.ts",
|
|
4002
|
-
"line":
|
|
4002
|
+
"line": 45
|
|
4003
4003
|
},
|
|
4004
4004
|
"name": "notifications",
|
|
4005
4005
|
"optional": true,
|
|
@@ -4015,7 +4015,7 @@
|
|
|
4015
4015
|
"immutable": true,
|
|
4016
4016
|
"locationInModule": {
|
|
4017
4017
|
"filename": "src/index.ts",
|
|
4018
|
-
"line":
|
|
4018
|
+
"line": 46
|
|
4019
4019
|
},
|
|
4020
4020
|
"name": "resourceNamingOption",
|
|
4021
4021
|
"optional": true,
|
|
@@ -4043,7 +4043,7 @@
|
|
|
4043
4043
|
"immutable": true,
|
|
4044
4044
|
"locationInModule": {
|
|
4045
4045
|
"filename": "src/index.ts",
|
|
4046
|
-
"line":
|
|
4046
|
+
"line": 44
|
|
4047
4047
|
},
|
|
4048
4048
|
"name": "startSchedule",
|
|
4049
4049
|
"optional": true,
|
|
@@ -4059,7 +4059,7 @@
|
|
|
4059
4059
|
"immutable": true,
|
|
4060
4060
|
"locationInModule": {
|
|
4061
4061
|
"filename": "src/index.ts",
|
|
4062
|
-
"line":
|
|
4062
|
+
"line": 43
|
|
4063
4063
|
},
|
|
4064
4064
|
"name": "stopSchedule",
|
|
4065
4065
|
"optional": true,
|
|
@@ -4070,104 +4070,6 @@
|
|
|
4070
4070
|
],
|
|
4071
4071
|
"symbolId": "src/index:RDSDatabaseRunningScheduleStackProps"
|
|
4072
4072
|
},
|
|
4073
|
-
"@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming": {
|
|
4074
|
-
"assembly": "@gammarers/aws-rds-database-running-schedule-stack",
|
|
4075
|
-
"datatype": true,
|
|
4076
|
-
"docs": {
|
|
4077
|
-
"stability": "stable"
|
|
4078
|
-
},
|
|
4079
|
-
"fqn": "@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming",
|
|
4080
|
-
"kind": "interface",
|
|
4081
|
-
"locationInModule": {
|
|
4082
|
-
"filename": "node_modules/@gammarers/aws-resource-naming/lib/index.d.ts",
|
|
4083
|
-
"line": 7
|
|
4084
|
-
},
|
|
4085
|
-
"name": "ResourceAutoNaming",
|
|
4086
|
-
"properties": [
|
|
4087
|
-
{
|
|
4088
|
-
"abstract": true,
|
|
4089
|
-
"docs": {
|
|
4090
|
-
"stability": "stable"
|
|
4091
|
-
},
|
|
4092
|
-
"immutable": true,
|
|
4093
|
-
"locationInModule": {
|
|
4094
|
-
"filename": "node_modules/@gammarers/aws-resource-naming/lib/index.d.ts",
|
|
4095
|
-
"line": 8
|
|
4096
|
-
},
|
|
4097
|
-
"name": "type",
|
|
4098
|
-
"type": {
|
|
4099
|
-
"fqn": "@gammarers/aws-resource-naming.ResourceNamingType"
|
|
4100
|
-
}
|
|
4101
|
-
}
|
|
4102
|
-
],
|
|
4103
|
-
"symbolId": "lib/index:ResourceAutoNaming"
|
|
4104
|
-
},
|
|
4105
|
-
"@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming": {
|
|
4106
|
-
"assembly": "@gammarers/aws-rds-database-running-schedule-stack",
|
|
4107
|
-
"datatype": true,
|
|
4108
|
-
"docs": {
|
|
4109
|
-
"stability": "stable"
|
|
4110
|
-
},
|
|
4111
|
-
"fqn": "@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming",
|
|
4112
|
-
"kind": "interface",
|
|
4113
|
-
"locationInModule": {
|
|
4114
|
-
"filename": "node_modules/@gammarers/aws-resource-naming/lib/index.d.ts",
|
|
4115
|
-
"line": 10
|
|
4116
|
-
},
|
|
4117
|
-
"name": "ResourceDefaultNaming",
|
|
4118
|
-
"properties": [
|
|
4119
|
-
{
|
|
4120
|
-
"abstract": true,
|
|
4121
|
-
"docs": {
|
|
4122
|
-
"stability": "stable"
|
|
4123
|
-
},
|
|
4124
|
-
"immutable": true,
|
|
4125
|
-
"locationInModule": {
|
|
4126
|
-
"filename": "node_modules/@gammarers/aws-resource-naming/lib/index.d.ts",
|
|
4127
|
-
"line": 11
|
|
4128
|
-
},
|
|
4129
|
-
"name": "type",
|
|
4130
|
-
"type": {
|
|
4131
|
-
"fqn": "@gammarers/aws-resource-naming.ResourceNamingType"
|
|
4132
|
-
}
|
|
4133
|
-
}
|
|
4134
|
-
],
|
|
4135
|
-
"symbolId": "lib/index:ResourceDefaultNaming"
|
|
4136
|
-
},
|
|
4137
|
-
"@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType": {
|
|
4138
|
-
"assembly": "@gammarers/aws-rds-database-running-schedule-stack",
|
|
4139
|
-
"docs": {
|
|
4140
|
-
"stability": "stable"
|
|
4141
|
-
},
|
|
4142
|
-
"fqn": "@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType",
|
|
4143
|
-
"kind": "enum",
|
|
4144
|
-
"locationInModule": {
|
|
4145
|
-
"filename": "node_modules/@gammarers/aws-resource-naming/lib/index.d.ts",
|
|
4146
|
-
"line": 2
|
|
4147
|
-
},
|
|
4148
|
-
"members": [
|
|
4149
|
-
{
|
|
4150
|
-
"docs": {
|
|
4151
|
-
"stability": "stable"
|
|
4152
|
-
},
|
|
4153
|
-
"name": "DEFAULT"
|
|
4154
|
-
},
|
|
4155
|
-
{
|
|
4156
|
-
"docs": {
|
|
4157
|
-
"stability": "stable"
|
|
4158
|
-
},
|
|
4159
|
-
"name": "AUTO"
|
|
4160
|
-
},
|
|
4161
|
-
{
|
|
4162
|
-
"docs": {
|
|
4163
|
-
"stability": "stable"
|
|
4164
|
-
},
|
|
4165
|
-
"name": "CUSTOM"
|
|
4166
|
-
}
|
|
4167
|
-
],
|
|
4168
|
-
"name": "ResourceNamingType",
|
|
4169
|
-
"symbolId": "lib/index:ResourceNamingType"
|
|
4170
|
-
},
|
|
4171
4073
|
"@gammarers/aws-rds-database-running-schedule-stack.ScheduleProperty": {
|
|
4172
4074
|
"assembly": "@gammarers/aws-rds-database-running-schedule-stack",
|
|
4173
4075
|
"datatype": true,
|
|
@@ -4178,7 +4080,7 @@
|
|
|
4178
4080
|
"kind": "interface",
|
|
4179
4081
|
"locationInModule": {
|
|
4180
4082
|
"filename": "src/index.ts",
|
|
4181
|
-
"line":
|
|
4083
|
+
"line": 24
|
|
4182
4084
|
},
|
|
4183
4085
|
"name": "ScheduleProperty",
|
|
4184
4086
|
"properties": [
|
|
@@ -4190,7 +4092,7 @@
|
|
|
4190
4092
|
"immutable": true,
|
|
4191
4093
|
"locationInModule": {
|
|
4192
4094
|
"filename": "src/index.ts",
|
|
4193
|
-
"line":
|
|
4095
|
+
"line": 25
|
|
4194
4096
|
},
|
|
4195
4097
|
"name": "timezone",
|
|
4196
4098
|
"type": {
|
|
@@ -4205,7 +4107,7 @@
|
|
|
4205
4107
|
"immutable": true,
|
|
4206
4108
|
"locationInModule": {
|
|
4207
4109
|
"filename": "src/index.ts",
|
|
4208
|
-
"line":
|
|
4110
|
+
"line": 27
|
|
4209
4111
|
},
|
|
4210
4112
|
"name": "hour",
|
|
4211
4113
|
"optional": true,
|
|
@@ -4221,7 +4123,7 @@
|
|
|
4221
4123
|
"immutable": true,
|
|
4222
4124
|
"locationInModule": {
|
|
4223
4125
|
"filename": "src/index.ts",
|
|
4224
|
-
"line":
|
|
4126
|
+
"line": 26
|
|
4225
4127
|
},
|
|
4226
4128
|
"name": "minute",
|
|
4227
4129
|
"optional": true,
|
|
@@ -4237,7 +4139,7 @@
|
|
|
4237
4139
|
"immutable": true,
|
|
4238
4140
|
"locationInModule": {
|
|
4239
4141
|
"filename": "src/index.ts",
|
|
4240
|
-
"line":
|
|
4142
|
+
"line": 28
|
|
4241
4143
|
},
|
|
4242
4144
|
"name": "week",
|
|
4243
4145
|
"optional": true,
|
|
@@ -4258,7 +4160,7 @@
|
|
|
4258
4160
|
"kind": "interface",
|
|
4259
4161
|
"locationInModule": {
|
|
4260
4162
|
"filename": "src/index.ts",
|
|
4261
|
-
"line":
|
|
4163
|
+
"line": 31
|
|
4262
4164
|
},
|
|
4263
4165
|
"name": "TargetResourceProperty",
|
|
4264
4166
|
"properties": [
|
|
@@ -4270,7 +4172,7 @@
|
|
|
4270
4172
|
"immutable": true,
|
|
4271
4173
|
"locationInModule": {
|
|
4272
4174
|
"filename": "src/index.ts",
|
|
4273
|
-
"line":
|
|
4175
|
+
"line": 32
|
|
4274
4176
|
},
|
|
4275
4177
|
"name": "tagKey",
|
|
4276
4178
|
"type": {
|
|
@@ -4285,7 +4187,7 @@
|
|
|
4285
4187
|
"immutable": true,
|
|
4286
4188
|
"locationInModule": {
|
|
4287
4189
|
"filename": "src/index.ts",
|
|
4288
|
-
"line":
|
|
4190
|
+
"line": 33
|
|
4289
4191
|
},
|
|
4290
4192
|
"name": "tagValues",
|
|
4291
4193
|
"type": {
|
|
@@ -4301,6 +4203,6 @@
|
|
|
4301
4203
|
"symbolId": "src/index:TargetResourceProperty"
|
|
4302
4204
|
}
|
|
4303
4205
|
},
|
|
4304
|
-
"version": "2.3.
|
|
4305
|
-
"fingerprint": "
|
|
4206
|
+
"version": "2.3.1",
|
|
4207
|
+
"fingerprint": "D1xMQes2FyKeWGLFELqb1LLjMMGMxf8+QHOknmUK6Rk="
|
|
4306
4208
|
}
|
package/API.md
CHANGED
|
@@ -1315,62 +1315,6 @@ public readonly stopSchedule: ScheduleProperty;
|
|
|
1315
1315
|
|
|
1316
1316
|
---
|
|
1317
1317
|
|
|
1318
|
-
### ResourceAutoNaming <a name="ResourceAutoNaming" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming"></a>
|
|
1319
|
-
|
|
1320
|
-
#### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming.Initializer"></a>
|
|
1321
|
-
|
|
1322
|
-
```typescript
|
|
1323
|
-
import { ResourceAutoNaming } from '@gammarers/aws-rds-database-running-schedule-stack'
|
|
1324
|
-
|
|
1325
|
-
const resourceAutoNaming: ResourceAutoNaming = { ... }
|
|
1326
|
-
```
|
|
1327
|
-
|
|
1328
|
-
#### Properties <a name="Properties" id="Properties"></a>
|
|
1329
|
-
|
|
1330
|
-
| **Name** | **Type** | **Description** |
|
|
1331
|
-
| --- | --- | --- |
|
|
1332
|
-
| <code><a href="#@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming.property.type">type</a></code> | <code>@gammarers/aws-resource-naming.ResourceNamingType</code> | *No description.* |
|
|
1333
|
-
|
|
1334
|
-
---
|
|
1335
|
-
|
|
1336
|
-
##### `type`<sup>Required</sup> <a name="type" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceAutoNaming.property.type"></a>
|
|
1337
|
-
|
|
1338
|
-
```typescript
|
|
1339
|
-
public readonly type: ResourceNamingType;
|
|
1340
|
-
```
|
|
1341
|
-
|
|
1342
|
-
- *Type:* @gammarers/aws-resource-naming.ResourceNamingType
|
|
1343
|
-
|
|
1344
|
-
---
|
|
1345
|
-
|
|
1346
|
-
### ResourceDefaultNaming <a name="ResourceDefaultNaming" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming"></a>
|
|
1347
|
-
|
|
1348
|
-
#### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming.Initializer"></a>
|
|
1349
|
-
|
|
1350
|
-
```typescript
|
|
1351
|
-
import { ResourceDefaultNaming } from '@gammarers/aws-rds-database-running-schedule-stack'
|
|
1352
|
-
|
|
1353
|
-
const resourceDefaultNaming: ResourceDefaultNaming = { ... }
|
|
1354
|
-
```
|
|
1355
|
-
|
|
1356
|
-
#### Properties <a name="Properties" id="Properties"></a>
|
|
1357
|
-
|
|
1358
|
-
| **Name** | **Type** | **Description** |
|
|
1359
|
-
| --- | --- | --- |
|
|
1360
|
-
| <code><a href="#@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming.property.type">type</a></code> | <code>@gammarers/aws-resource-naming.ResourceNamingType</code> | *No description.* |
|
|
1361
|
-
|
|
1362
|
-
---
|
|
1363
|
-
|
|
1364
|
-
##### `type`<sup>Required</sup> <a name="type" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceDefaultNaming.property.type"></a>
|
|
1365
|
-
|
|
1366
|
-
```typescript
|
|
1367
|
-
public readonly type: ResourceNamingType;
|
|
1368
|
-
```
|
|
1369
|
-
|
|
1370
|
-
- *Type:* @gammarers/aws-resource-naming.ResourceNamingType
|
|
1371
|
-
|
|
1372
|
-
---
|
|
1373
|
-
|
|
1374
1318
|
### ScheduleProperty <a name="ScheduleProperty" id="@gammarers/aws-rds-database-running-schedule-stack.ScheduleProperty"></a>
|
|
1375
1319
|
|
|
1376
1320
|
#### Initializer <a name="Initializer" id="@gammarers/aws-rds-database-running-schedule-stack.ScheduleProperty.Initializer"></a>
|
|
@@ -1473,31 +1417,3 @@ public readonly tagValues: string[];
|
|
|
1473
1417
|
|
|
1474
1418
|
|
|
1475
1419
|
|
|
1476
|
-
## Enums <a name="Enums" id="Enums"></a>
|
|
1477
|
-
|
|
1478
|
-
### ResourceNamingType <a name="ResourceNamingType" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType"></a>
|
|
1479
|
-
|
|
1480
|
-
#### Members <a name="Members" id="Members"></a>
|
|
1481
|
-
|
|
1482
|
-
| **Name** | **Description** |
|
|
1483
|
-
| --- | --- |
|
|
1484
|
-
| <code><a href="#@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.DEFAULT">DEFAULT</a></code> | *No description.* |
|
|
1485
|
-
| <code><a href="#@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.AUTO">AUTO</a></code> | *No description.* |
|
|
1486
|
-
| <code><a href="#@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.CUSTOM">CUSTOM</a></code> | *No description.* |
|
|
1487
|
-
|
|
1488
|
-
---
|
|
1489
|
-
|
|
1490
|
-
##### `DEFAULT` <a name="DEFAULT" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.DEFAULT"></a>
|
|
1491
|
-
|
|
1492
|
-
---
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
##### `AUTO` <a name="AUTO" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.AUTO"></a>
|
|
1496
|
-
|
|
1497
|
-
---
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
##### `CUSTOM` <a name="CUSTOM" id="@gammarers/aws-rds-database-running-schedule-stack.ResourceNamingType.CUSTOM"></a>
|
|
1501
|
-
|
|
1502
|
-
---
|
|
1503
|
-
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ResourceAutoNaming, ResourceDefaultNaming, ResourceNamingType } from '@gammarers/aws-resource-naming';
|
|
2
|
-
export { ResourceAutoNaming, ResourceDefaultNaming, ResourceNaming, ResourceNamingOptions, ResourceNamingType } from '@gammarers/aws-resource-naming';
|
|
3
2
|
import { Stack, StackProps } from 'aws-cdk-lib';
|
|
4
3
|
import { Construct } from 'constructs';
|
|
5
4
|
export interface CustomNaming {
|
package/lib/index.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.RDSDatabaseRunningScheduleStack =
|
|
4
|
+
exports.RDSDatabaseRunningScheduleStack = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_resource_naming_1 = require("@gammarers/aws-resource-naming");
|
|
7
|
-
var aws_resource_naming_2 = require("@gammarers/aws-resource-naming");
|
|
8
|
-
Object.defineProperty(exports, "ResourceNaming", { enumerable: true, get: function () { return aws_resource_naming_2.ResourceNaming; } });
|
|
9
|
-
Object.defineProperty(exports, "ResourceNamingType", { enumerable: true, get: function () { return aws_resource_naming_2.ResourceNamingType; } });
|
|
10
7
|
const cdk = require("aws-cdk-lib");
|
|
11
8
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
12
9
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
@@ -319,7 +316,7 @@ class RDSDatabaseRunningScheduleStack extends aws_cdk_lib_1.Stack {
|
|
|
319
316
|
}
|
|
320
317
|
exports.RDSDatabaseRunningScheduleStack = RDSDatabaseRunningScheduleStack;
|
|
321
318
|
_a = JSII_RTTI_SYMBOL_1;
|
|
322
|
-
RDSDatabaseRunningScheduleStack[_a] = { fqn: "@gammarers/aws-rds-database-running-schedule-stack.RDSDatabaseRunningScheduleStack", version: "2.3.
|
|
319
|
+
RDSDatabaseRunningScheduleStack[_a] = { fqn: "@gammarers/aws-rds-database-running-schedule-stack.RDSDatabaseRunningScheduleStack", version: "2.3.1" };
|
|
323
320
|
class DBRuningSchedule extends scheduler.CfnSchedule {
|
|
324
321
|
constructor(scope, id, props) {
|
|
325
322
|
super(scope, id, {
|
|
@@ -350,4 +347,4 @@ class DBRuningSchedule extends scheduler.CfnSchedule {
|
|
|
350
347
|
});
|
|
351
348
|
}
|
|
352
349
|
}
|
|
353
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBc0o7QUFDdEosc0VBQXNKO0FBQWxHLHFIQUFBLGNBQWMsT0FBQTtBQUF5Qix5SEFBQSxrQkFBa0IsT0FBQTtBQUM3RyxtQ0FBbUM7QUFDbkMsNkNBQWdEO0FBQ2hELDJDQUEyQztBQUMzQyx1REFBdUQ7QUFDdkQsMkNBQTJDO0FBQzNDLHFEQUFxRDtBQUNyRCw2REFBNkQ7QUF5QzdELE1BQWEsK0JBQWdDLFNBQVEsbUJBQUs7SUFDeEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQztRQUNuRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixpQkFBaUI7UUFDakIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRTNDLG1DQUFtQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxvQ0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLDRCQUE0QjtRQUM1QixNQUFNLFVBQVUsR0FBRztZQUNqQixxQkFBcUIsRUFBRSx3Q0FBd0MsTUFBTSxRQUFRO1lBQzdFLDRCQUE0QixFQUFFLDRDQUE0QztZQUMxRSxnQkFBZ0IsRUFBRSwyQkFBMkIsTUFBTSxnQkFBZ0I7WUFDbkUsb0JBQW9CLEVBQUUsMkJBQTJCLE1BQU0scUJBQXFCO1lBQzVFLGlCQUFpQixFQUFFLDRCQUE0QixNQUFNLFlBQVk7WUFDakUsaUJBQWlCLEVBQUUsNkJBQTZCLE1BQU0sV0FBVztZQUNqRSxnQkFBZ0IsRUFBRSw4QkFBOEIs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RSxDQUFDO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VBdXRvTmFtaW5nLCBSZXNvdXJjZURlZmF1bHROYW1pbmcsIFJlc291cmNlTmFtaW5nLCBSZXNvdXJjZU5hbWluZ09wdGlvbnMsIFJlc291cmNlTmFtaW5nVHlwZSB9IGZyb20gJ0BnYW1tYXJlcnMvYXdzLXJlc291cmNlLW5hbWluZyc7XG5leHBvcnQgeyBSZXNvdXJjZUF1dG9OYW1pbmcsIFJlc291cmNlRGVmYXVsdE5hbWluZywgUmVzb3VyY2VOYW1pbmcsIFJlc291cmNlTmFtaW5nT3B0aW9ucywgUmVzb3VyY2VOYW1pbmdUeXBlIH0gZnJvbSAnQGdhbW1hcmVycy9hd3MtcmVzb3VyY2UtbmFtaW5nJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHNjaGVkdWxlciBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2NoZWR1bGVyJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgKiBhcyB0YXNrcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21OYW1pbmcge1xuICByZWFkb25seSB0eXBlOiBSZXNvdXJjZU5hbWluZ1R5cGUuQ1VTVE9NO1xuICByZWFkb25seSBub3RpZmljYXRpb25Ub3BpY05hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXRlTWFjaGluZVJvbGVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNjaGVkdWxlclJvbGVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXJ0U2NoZWR1bGVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0b3BTY2hlZHVsZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VOYW1pbmdPcHRpb24gPSBSZXNvdXJjZURlZmF1bHROYW1pbmcgfCBSZXNvdXJjZUF1dG9OYW1pbmcgfCBDdXN0b21OYW1pbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZWR1bGVQcm9wZXJ0eSB7XG4gIHJlYWRvbmx5IHRpbWV6b25lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbnV0ZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaG91cj86IHN0cmluZztcbiAgcmVhZG9ubHkgd2Vlaz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRSZXNvdXJjZVByb3BlcnR5IHtcbiAgcmVhZG9ubHkgdGFnS2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ1ZhbHVlczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90aWZpY2F0aW9uc1Byb3BlcnR5IHtcbiAgcmVhZG9ubHkgZW1haWxzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUkRTRGF0YWJhc2VSdW5uaW5nU2NoZWR1bGVTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIHJlYWRvbmx5IHRhcmdldFJlc291cmNlOiBUYXJnZXRSZXNvdXJjZVByb3BlcnR5O1xuICByZWFkb25seSBlbmFibGVTY2hlZHVsaW5nPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3RvcFNjaGVkdWxlPzogU2NoZWR1bGVQcm9wZXJ0eTtcbiAgcmVhZG9ubHkgc3RhcnRTY2hlZHVsZT86IFNjaGVkdWxlUHJvcGVydHk7XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25zUHJvcGVydHk7XG4gIHJlYWRvbmx5IHJlc291cmNlTmFtaW5nT3B0aW9uPzogUmVzb3VyY2VOYW1pbmdPcHRpb247XG59XG5cbmV4cG9ydCBjbGFzcyBSRFNEYXRhYmFzZVJ1bm5pbmdTY2hlZHVsZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUkRTRGF0YWJhc2VSdW5uaW5nU2NoZWR1bGVTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAvLyDwn5GHIEdldCBhY2NvdW50XG4gICAgY29uc3QgYWNjb3VudCA9IGNkay5TdGFjay5vZih0aGlzKS5hY2NvdW50O1xuXG4gICAgLy8g8J+RhyBDcmVhdGUgcmFuZG9tIDggbGVuZ3RoIHN0cmluZ1xuICAgIGNvbnN0IHJhbmRvbSA9IFJlc291cmNlTmFtaW5nLmNyZWF0ZVJhbmRvbVN0cmluZyhgJHtjZGsuTmFtZXMudW5pcXVlSWQoc2NvcGUpfS0ke2Nkay5OYW1lcy51bmlxdWVJZCh0aGlzKX1gKTtcbiAgICAvLyDwn5GHIERlZmluaXRpb24gYXV0byBuYW1pbmdcbiAgICBjb25zdCBhdXRvTmFtaW5nID0ge1xuICAgICAgbm90aWZpY2F0aW9uVG9waWNOYW1lOiBgcmRzLWRiLXJ1bm5pbmctc2NoZWR1bGUtbm90aWZpY2F0aW9uLSR7cmFuZG9tfS10b3BpY2AsXG4gICAgICBub3RpZmljYXRpb25Ub3BpY0Rpc3BsYXlOYW1lOiAnUkRTIERCIFJ1bm5pbmcgU2NoZWR1bGUgTm90aWZpY2F0aW9uIFRvcGljJyxcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IGByZHMtZGItcnVubmluZy1zY2hlZHVsZS0ke3JhbmRvbX0tc3RhdGUtbWFjaGluZWAsXG4gICAgICBzdGF0ZU1hY2hpbmVSb2xlTmFtZTogYHJkcy1kYi1ydW5uaW5nLXNjaGVkdWxlLSR7cmFuZG9tfS1zdGF0ZS1tYWNoaW5lLXJvbGVgLFxuICAgICAgc2NoZWR1bGVyUm9sZU5hbWU6IGByZHMtZGItcnVubmluZy1zY2hlZHVsZXItJHtyYW5kb219LWV4ZWMtcm9sZWAsXG4gICAgICBzdGFydFNjaGVkdWxlTmFtZTogYHJkcy1kYXRhYmFzZS1ydW5uaW5nLXN0b3AtJHtyYW5kb219LXNjaGVkdWxlYCxcbiAgICAgIHN0b3BTY2hlZHVsZU5hbWU6IGByZHMtZGF0YWJhc2UtcnVubmluZy1zdGFydC0ke3JhbmRvbX0tc2NoZWR1bGVgLFxuICAgIH07XG4gICAgLy8g8J+Rh+OAgGZpbmFsIG5hbWluZ1xuICAgIGNvbnN0IG5hbWVzID0gUmVzb3VyY2VOYW1pbmcubmFtaW5nKGF1dG9OYW1pbmcsIHByb3BzLnJlc291cmNlTmFtaW5nT3B0aW9uIGFzIFJlc291cmNlTmFtaW5nT3B0aW9ucyk7XG5cblxuICAgIC8vIPCfkYcgU05TIFRvcGljIGZvciBub3RpZmljYXRpb25zXG4gICAgY29uc3QgdG9waWM6IHNucy5Ub3BpYyA9IG5ldyBzbnMuVG9waWModGhpcywgJ05vdGlmaWNhdGlvblRvcGljJywge1xuICAgICAgdG9waWNOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogbmFtZXMubm90aWZpY2F0aW9uVG9waWNEaXNwbGF5TmFtZSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3Vic2NyaWJlIGFuIGVtYWlsIGVuZHBvaW50IHRvIHRoZSB0b3BpY1xuICAgIGNvbnN0IGVtYWlscyA9IHByb3BzLm5vdGlmaWNhdGlvbnM/LmVtYWlscyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IFtpbmRleCwgdmFsdWVdIG9mIGVtYWlscy5lbnRyaWVzKCkpIHtcbiAgICAgIG5ldyBzbnMuU3Vic2NyaXB0aW9uKHRoaXMsIGBTdWJzY3JpcHRpb25FbWFpbCR7aW5kZXgudG9TdHJpbmcoKS5wYWRTdGFydCgzLCAnMCcpfWAsIHtcbiAgICAgICAgdG9waWMsXG4gICAgICAgIHByb3RvY29sOiBzbnMuU3Vic2NyaXB0aW9uUHJvdG9jb2wuRU1BSUwsXG4gICAgICAgIGVuZHBvaW50OiB2YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGluaXRTdGF0ZUxpc3REZWZpbml0aW9uOiBzZm4uUGFzcyA9IG5ldyBzZm4uUGFzcyh0aGlzLCAnSW5pdFN0YXRlTGlzdERlZmluaXRpb24nLCB7XG4gICAgICByZXN1bHQ6IHNmbi5SZXN1bHQuZnJvbU9iamVjdChbXG4gICAgICAgIHsgbmFtZTogJ0FWQUlMQUJMRScsIGVtb2ppOiAn8J+kqScsIHN0YXRlOiAnYXZhaWxhYmxlJyB9LFxuICAgICAgICB7IG5hbWU6ICdTVE9QUEVEJywgZW1vamk6ICfwn5i0Jywgc3RhdGU6ICdzdG9wcGVkJyB9LFxuICAgICAgXSksXG4gICAgICByZXN1bHRQYXRoOiAnJC5kZWZpbml0aW9uLnN0YXRlTGlzdCcsXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIFN1Y2NlZWRcbiAgICBjb25zdCBzdGF0ZUNoYW5nZVN1Y2NlZWQgPSBuZXcgc2ZuLlN1Y2NlZWQodGhpcywgJ1N0YXRlQ2hhbmdlU3VjY2VlZCcpO1xuXG4gICAgY29uc3QgcHJlcGFyZVRvcGljVmFsdWUgPSBuZXcgc2ZuLlBhc3ModGhpcywgJ1ByZXBhcmVUb3BpY1ZhbHVlJywge1xuICAgICAgcmVzdWx0UGF0aDogJyQucHJlcGFyZS50b3BpYy52YWx1ZXMnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBlbW9qaTogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuZGVmaW5pdGlvbi5zdGF0ZUxpc3RbPyhALnN0YXRlID09ICQuUmVzdWx0LnN0YXR1cy5jdXJyZW50KV0uZW1vamknKSwgMCksXG4gICAgICAgIHN0YXR1czogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuZGVmaW5pdGlvbi5zdGF0ZUxpc3RbPyhALnN0YXRlID09ICQuUmVzdWx0LnN0YXR1cy5jdXJyZW50KV0ubmFtZScpLCAwKSxcbiAgICAgICAgYWNjb3VudDogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nU3BsaXQoc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlRhcmdldFJlc291cmNlJyksICc6JyksIDQpLCAvLyBhY2NvdW50XG4gICAgICAgIHJlZ2lvbjogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nU3BsaXQoc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlRhcmdldFJlc291cmNlJyksICc6JyksIDMpLCAvLyByZWdpb25cbiAgICAgIH0sXG4gICAgfSkubmV4dChuZXcgc2ZuLlBhc3ModGhpcywgJ0dlbmVyYXRlVG9waWMnLCB7XG4gICAgICByZXN1bHRQYXRoOiAnJC5HZW5lcmF0ZS5Ub3BpYycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIFN1YmplY3Q6IHNmbi5Kc29uUGF0aC5mb3JtYXQoJ3t9IFt7fV0gQVdTIFJEUyBEQiB7fSBSdW5uaW5nIE5vdGlmaWNhdGlvbiBbe31dW3t9XScsXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnByZXBhcmUudG9waWMudmFsdWVzLmVtb2ppJyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnByZXBhcmUudG9waWMudmFsdWVzLnN0YXR1cycpLFxuICAgICAgICAgIHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5wYXJhbXMuTW9kZScpLFxuICAgICAgICAgIHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5wcmVwYXJlLnRvcGljLnZhbHVlcy5hY2NvdW50JyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnByZXBhcmUudG9waWMudmFsdWVzLnJlZ2lvbicpLFxuICAgICAgICApLFxuICAgICAgICBUZXh0TWVzc2FnZTogc2ZuLkpzb25QYXRoLmZvcm1hdCgnQWNjb3VudCA6IHt9XFxuUmVnaW9uIDoge31cXG5UeXBlIDoge31cXG5JZGVudGlmaWVyIDoge31cXG5TdGF0dXMgOiB7fScsXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnByZXBhcmUudG9waWMudmFsdWVzLmFjY291bnQnKSxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMucmVnaW9uJyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQudHlwZScpLFxuICAgICAgICAgIHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMuc3RhdHVzJyksXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH0pLm5leHQobmV3IHRhc2tzLlNuc1B1Ymxpc2godGhpcywgJ1NlbmROb3RpZmljYXRpb24nLCB7XG4gICAgICB0b3BpYzogdG9waWMsXG4gICAgICBzdWJqZWN0OiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuR2VuZXJhdGUuVG9waWMuU3ViamVjdCcpLFxuICAgICAgbWVzc2FnZTogc2ZuLlRhc2tJbnB1dC5mcm9tSnNvblBhdGhBdCgnJC5HZW5lcmF0ZS5Ub3BpYy5UZXh0TWVzc2FnZScpLFxuICAgICAgcmVzdWx0UGF0aDogJyQuc25zUmVzdWx0JyxcbiAgICB9KS5uZXh0KHN0YXRlQ2hhbmdlU3VjY2VlZCkpKTtcblxuICAgIC8vIPCfkYcgR2V0IERCIEluc3RhbmNlIFJlc291cmNlcyAoRmlsdGVyIGJ5IFRhZylcbiAgICBjb25zdCBnZXRSZXNvdXJjZXMgPSBuZXcgdGFza3MuQ2FsbEF3c1NlcnZpY2UodGhpcywgJ0dldFJlc291cmNlcycsIHtcbiAgICAgIGlhbVJlc291cmNlczogWycqJ10sXG4gICAgICBpYW1BY3Rpb246ICd0YWc6R2V0UmVzb3VyY2VzJyxcbiAgICAgIHNlcnZpY2U6ICdyZXNvdXJjZWdyb3Vwc3RhZ2dpbmdhcGknLFxuICAgICAgYWN0aW9uOiAnZ2V0UmVzb3VyY2VzJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgUmVzb3VyY2VUeXBlRmlsdGVyczogW1xuICAgICAgICAgICdyZHM6ZGInLFxuICAgICAgICAgICdyZHM6Y2x1c3RlcicsXG4gICAgICAgIF0sXG4gICAgICAgIFRhZ0ZpbHRlcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBLZXk6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5QYXJhbXMuVGFnS2V5JyksXG4gICAgICAgICAgICBWYWx1ZXM6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5QYXJhbXMuVGFnVmFsdWVzJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQnLFxuICAgICAgcmVzdWx0U2VsZWN0b3I6IHtcbiAgICAgICAgVGFyZ2V0UmVzb3VyY2VzOiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuLlJlc291cmNlVGFnTWFwcGluZ0xpc3RbKl0uUmVzb3VyY2VBUk4nKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpbml0U3RhdGVMaXN0RGVmaW5pdGlvbi5uZXh0KGdldFJlc291cmNlcyk7XG5cbiAgICAvLyDwn5GHIERlc2NyaWJlIERCIEluc3RhbmNlIFRhc2tcbiAgICBjb25zdCBkZXNjcmliZURCSW5zdGFuY2VzVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnRGVzY3JpYmVEQkluc3RhbmNlcycsIHtcbiAgICAgIGlhbVJlc291cmNlczogW2Bhcm46YXdzOnJkczoqOiR7YWNjb3VudH06ZGI6KmBdLFxuICAgICAgc2VydmljZTogJ3JkcycsXG4gICAgICBhY3Rpb246ICdkZXNjcmliZURCSW5zdGFuY2VzJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGJJbnN0YW5jZUlkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuc3RhdHVzJyxcbiAgICAgIHJlc3VsdFNlbGVjdG9yOiB7XG4gICAgICAgIGN1cnJlbnQ6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5EYkluc3RhbmNlc1swXS5EYkluc3RhbmNlU3RhdHVzJyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdG9wIERCIEluc3RhbmNlIFRhc2tcbiAgICBjb25zdCBzdG9wREJJbnN0YW5jZVRhc2sgPSBuZXcgdGFza3MuQ2FsbEF3c1NlcnZpY2UodGhpcywgJ1N0b3BEQkluc3RhbmNlJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbYGFybjphd3M6cmRzOio6JHthY2NvdW50fTpkYjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ3N0b3BEQkluc3RhbmNlJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGJJbnN0YW5jZUlkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuU3RvcERCSW5zdGFuY2UnLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdGFydCBEQiBJbnN0YW5jZSBUYXNrXG4gICAgY29uc3Qgc3RhcnREQkluc3RhbmNlVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnU3RhcnREQkluc3RhbmNlJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbYGFybjphd3M6cmRzOio6JHthY2NvdW50fTpkYjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ3N0YXJ0REJJbnN0YW5jZScsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIERiSW5zdGFuY2VJZGVudGlmaWVyOiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuUmVzdWx0LnRhcmdldC5pZGVudGlmaWVyJyksXG4gICAgICB9LFxuICAgICAgcmVzdWx0UGF0aDogJyQuUmVzdWx0LlN0YXJ0REJJbnN0YW5jZScsXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIERlc2NyaWJlIERCIENsdXN0ZXIgVGFza1xuICAgIGNvbnN0IGRlc2NyaWJlREJDbHVzdGVyc1Rhc2sgPSBuZXcgdGFza3MuQ2FsbEF3c1NlcnZpY2UodGhpcywgJ0Rlc2NyaWJlREJDbHVzdGVycycsIHtcbiAgICAgIGlhbVJlc291cmNlczogW2Bhcm46YXdzOnJkczoqOiR7YWNjb3VudH06Y2x1c3RlcjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ2Rlc2NyaWJlREJDbHVzdGVycycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIERiQ2x1c3RlcklkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuc3RhdHVzJyxcbiAgICAgIHJlc3VsdFNlbGVjdG9yOiB7XG4gICAgICAgIGN1cnJlbnQ6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5EYkNsdXN0ZXJzWzBdLlN0YXR1cycpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZURiQ2x1c3Rlck5vdEZvdW5kID0gbmV3IHNmbi5QYXNzKHRoaXMsICdIYW5kbGVEYkNsdXN0ZXJOb3RGb3VuZCcsIHtcbiAgICAgIHJlc3VsdDogc2ZuLlJlc3VsdC5mcm9tT2JqZWN0KHtcbiAgICAgICAgbWVzc2FnZTogJ0RCIENsdXN0ZXIgbm90IGZvdW5kLCBidXQgY29udGludWluZy4uLicsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlREJDbHVzdGVyc1Rhc2suYWRkQ2F0Y2goaGFuZGxlRGJDbHVzdGVyTm90Rm91bmQsIHtcbiAgICAgIGVycm9yczogWydSZHMuRGJDbHVzdGVyTm90Rm91bmRFeGNlcHRpb24nXSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3RvcCBEQiBDbHVzdGVyIFRhc2tcbiAgICBjb25zdCBzdG9wREJDbHVzdGVyVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnU3RvcERCQ2x1c3RlcicsIHtcbiAgICAgIGlhbVJlc291cmNlczogW2Bhcm46YXdzOnJkczoqOiR7YWNjb3VudH06Y2x1c3RlcjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ3N0b3BEQkNsdXN0ZXInLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBEYkNsdXN0ZXJJZGVudGlmaWVyOiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuUmVzdWx0LnRhcmdldC5pZGVudGlmaWVyJyksXG4gICAgICB9LFxuICAgICAgcmVzdWx0UGF0aDogJyQuUmVzdWx0LlN0b3BEQkNsdXN0ZXInLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdG9wIERCIENsdXN0ZXIgVGFza1xuICAgIGNvbnN0IHN0YXJ0REJDbHVzdGVyVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnU3RhcnREQkNsdXN0ZXInLCB7XG4gICAgICBpYW1SZXNvdXJjZXM6IFtgYXJuOmF3czpyZHM6Kjoke2FjY291bnR9OmNsdXN0ZXI6KmBdLFxuICAgICAgc2VydmljZTogJ3JkcycsXG4gICAgICBhY3Rpb246ICdzdGFydERCQ2x1c3RlcicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIERiQ2x1c3RlcklkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuU3RhcnREQkNsdXN0ZXInLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVzY3JpYmVUeXBlQ2hvaWNlID0gbmV3IHNmbi5DaG9pY2UodGhpcywgJ0Rlc2NyaWJlVHlwZUNob2ljZScpXG4gICAgICAud2hlbihcbiAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2RiJyksXG4gICAgICAgIGRlc2NyaWJlREJJbnN0YW5jZXNUYXNrLFxuICAgICAgKVxuICAgICAgLndoZW4oXG4gICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgIGRlc2NyaWJlREJDbHVzdGVyc1Rhc2ssXG4gICAgICApXG4gICAgICAub3RoZXJ3aXNlKG5ldyBzZm4uRmFpbCh0aGlzLCAnVW5rbm93blR5cGUnKSk7XG5cbiAgICBjb25zdCBzdGF0dXNDaGFuZ2VXYWl0ID0gbmV3IHNmbi5XYWl0KHRoaXMsICdTdGF0dXNDaGFuZ2VXYWl0Jywge1xuICAgICAgdGltZTogc2ZuLldhaXRUaW1lLmR1cmF0aW9uKGNkay5EdXJhdGlvbi5taW51dGVzKDEpKSxcbiAgICB9KTtcbiAgICBzdGF0dXNDaGFuZ2VXYWl0Lm5leHQoZGVzY3JpYmVUeXBlQ2hvaWNlKTtcblxuICAgIHN0YXJ0REJJbnN0YW5jZVRhc2submV4dChzdGF0dXNDaGFuZ2VXYWl0KTtcbiAgICBzdG9wREJJbnN0YW5jZVRhc2submV4dChzdGF0dXNDaGFuZ2VXYWl0KTtcblxuICAgIHN0YXJ0REJDbHVzdGVyVGFzay5uZXh0KHN0YXR1c0NoYW5nZVdhaXQpO1xuICAgIHN0b3BEQkNsdXN0ZXJUYXNrLm5leHQoc3RhdHVzQ2hhbmdlV2FpdCk7XG5cbiAgICBjb25zdCBzdGF0dXNDaG9pY2UgPSBuZXcgc2ZuLkNob2ljZSh0aGlzLCAnU3RhdHVzQ2hvaWNlJylcbiAgICAgIC8vIGRiIGluc3RhbmNlIHN0YXJ0IG9uIHN0YXR1cy5zdG9wcGVkXG4gICAgICAud2hlbihcbiAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RhcnQnKSxcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnZGInKSxcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnc3RvcHBlZCcpLFxuICAgICAgICApLFxuICAgICAgICBzdGFydERCSW5zdGFuY2VUYXNrLFxuICAgICAgKVxuICAgICAgLy8gZGIgaW5zdGFuY2Ugc3RvcCBvbiBzdGF0dXMuYXZhaWxhYmxlXG4gICAgICAud2hlbihcbiAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RvcCcpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdkYicpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdhdmFpbGFibGUnKSxcbiAgICAgICAgKSxcbiAgICAgICAgc3RvcERCSW5zdGFuY2VUYXNrLFxuICAgICAgKVxuICAgICAgLy8gc3RhcnQgb24gc3RhdHVzLnN0b3BwZWRcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdGFydCcpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ3N0b3BwZWQnKSxcbiAgICAgICAgKSxcbiAgICAgICAgc3RhcnREQkNsdXN0ZXJUYXNrLFxuICAgICAgKVxuICAgICAgLy8gc3RvcCBvbiBzdGF0dXMuYXZhaWxhYmxlXG4gICAgICAud2hlbihcbiAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RvcCcpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ2F2YWlsYWJsZScpLFxuICAgICAgICApLFxuICAgICAgICBzdG9wREJDbHVzdGVyVGFzayxcbiAgICAgIClcbiAgICAgIC8vIHN0YXR1cyBjaGFuZ2Ugc3VjY2VlZCwgZ2VuZXJhdGUgdG9waWNcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uYW5kKFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RhcnQnKSxcbiAgICAgICAgICAgIHNmbi5Db25kaXRpb24ub3IoXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdkYicpLFxuICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnY2x1c3RlcicpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdhdmFpbGFibGUnKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uYW5kKFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RvcCcpLFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5vcihcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2RiJyksXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ3N0b3BwZWQnKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBwcmVwYXJlVG9waWNWYWx1ZSxcbiAgICAgIClcbiAgICAgIC53aGVuKFxuICAgICAgICAvLyBzdGFydCAmIHN0YXJ0aW5nL2NvbmZpZ3VyaW5nLWVuaGFuY2VkLW1vbml0b3JpbmcvYmFja2luZy11cCBvciBzdG9wIG1vZGlmeWluZy9zdG9wcGluZ1xuICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uYW5kKFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLnBhcmFtcy5Nb2RlJywgJ1N0YXJ0JyksXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24ub3IoXG4gICAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2RiJyksXG4gICAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2NsdXN0ZXInKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5vcihcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnc3RhcnRpbmcnKSxcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnY29uZmlndXJpbmctZW5oYW5jZWQtbW9uaXRvcmluZycpLFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdiYWNraW5nLXVwJyksXG4gICAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ21vZGlmeWluZycpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uYW5kKFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLnBhcmFtcy5Nb2RlJywgJ1N0b3AnKSxcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5vcihcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnZGInKSxcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnY2x1c3RlcicpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdtb2RpZnlpbmcnKSxcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnc3RvcHBpbmcnKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgc3RhdHVzQ2hhbmdlV2FpdCxcbiAgICAgIClcbiAgICAgIC5vdGhlcndpc2UobmV3IHNmbi5GYWlsKHRoaXMsICdTdGF0dXNGYWlsJywge1xuICAgICAgICBjYXVzZTogJ2RiIGluc3RhbmNlIG9yIGNsdXN0ZXIgc3RhdHVzIGZhaWwuJyxcbiAgICAgIH0pKTtcblxuICAgIGdldFJlc291cmNlcy5uZXh0KFxuICAgICAgbmV3IHNmbi5NYXAodGhpcywgJ1Jlc291cmNlUHJvY2Vzc2luZ01hcCcsIHtcbiAgICAgICAgaXRlbXNQYXRoOiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuUmVzdWx0LlRhcmdldFJlc291cmNlcycpLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgVGFyZ2V0UmVzb3VyY2U6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJCQuTWFwLkl0ZW0uVmFsdWUnKSxcbiAgICAgICAgICBwYXJhbXM6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5QYXJhbXMnKSxcbiAgICAgICAgICBkZWZpbml0aW9uOiBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuZGVmaW5pdGlvbicpLFxuICAgICAgICB9LFxuICAgICAgICBtYXhDb25jdXJyZW5jeTogMTAsXG4gICAgICB9KS5pdGVtUHJvY2Vzc29yKFxuICAgICAgICBuZXcgc2ZuLlBhc3ModGhpcywgJ0dldElkZW50aWZpZXInLCB7XG4gICAgICAgICAgcmVzdWx0UGF0aDogJyQuUmVzdWx0LnRhcmdldCcsXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgaWRlbnRpZmllcjogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nU3BsaXQoc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlRhcmdldFJlc291cmNlJyksICc6JyksIDYpLFxuICAgICAgICAgICAgdHlwZTogc2ZuLkpzb25QYXRoLmFycmF5R2V0SXRlbShzZm4uSnNvblBhdGguc3RyaW5nU3BsaXQoc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlRhcmdldFJlc291cmNlJyksICc6JyksIDUpLCAvLyBkYiBvciBjbHVzdGVyXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkubmV4dChkZXNjcmliZVR5cGVDaG9pY2UpKSk7XG5cbiAgICBkZXNjcmliZURCSW5zdGFuY2VzVGFzay5uZXh0KHN0YXR1c0Nob2ljZSk7XG4gICAgZGVzY3JpYmVEQkNsdXN0ZXJzVGFzay5uZXh0KHN0YXR1c0Nob2ljZSk7XG5cbiAgICAvLyDwn5GHIFN0ZXBGdW5jdGlvbnMgU3RhdGUgTWFjaGluZVxuICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBzZm4uU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBzdGF0ZU1hY2hpbmVOYW1lOiBuYW1lcy5zdGF0ZU1hY2hpbmVOYW1lLFxuICAgICAgZGVmaW5pdGlvbkJvZHk6IHNmbi5EZWZpbml0aW9uQm9keS5mcm9tQ2hhaW5hYmxlKGluaXRTdGF0ZUxpc3REZWZpbml0aW9uKSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgcmVuYW1lIHJvbGUgbmFtZSAmIGRlc2NyaXB0aW9uLlxuICAgIGlmIChuYW1lcy5zdGF0ZU1hY2hpbmVSb2xlTmFtZSkge1xuICAgICAgY29uc3Qgcm9sZSA9IHN0YXRlTWFjaGluZS5ub2RlLmZpbmRDaGlsZCgnUm9sZScpIGFzIGlhbS5Sb2xlO1xuICAgICAgY29uc3QgY2ZuUm9sZSA9IHJvbGUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgaWFtLkNmblJvbGU7XG4gICAgICBjZm5Sb2xlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1JvbGVOYW1lJywgbmFtZXMuc3RhdGVNYWNoaW5lUm9sZU5hbWUpO1xuICAgICAgY2ZuUm9sZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdEZXNjcmlwdGlvbicsICdSRFMgREIgUnVubmluZyBtYWNoaW5lIHJvbGUuJyk7XG4gICAgICBjb25zdCBwb2xpY3kgPSByb2xlLm5vZGUuZmluZENoaWxkKCdEZWZhdWx0UG9saWN5JykgYXMgaWFtLlBvbGljeTtcbiAgICAgIGNvbnN0IGNmblBvbGljeSA9IHBvbGljeS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBpYW0uQ2ZuUG9saWN5O1xuICAgICAgY2ZuUG9saWN5LmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1BvbGljeU5hbWUnLCBgcmRzLWRiLXJ1bm5pbmctc2NoZWR1bGUtJHtyYW5kb219LXN0YXRlLW1hY2hpbmUtcG9saWN5YCk7XG4gICAgfVxuXG4gICAgLy8g8J+RhyBTdGF0ZU1hY2hpbmUgRXhlYyBSb2xlIG9mIFNjaGVkdWxlclxuICAgIGNvbnN0IHNjaGVkdWxlckV4ZWNSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdTY2hlZHVsZXJFeGVjdXRpb25Sb2xlJywge1xuICAgICAgcm9sZU5hbWU6IG5hbWVzLnNjaGVkdWxlclJvbGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdSRFMgREIgUnVubmluZyBzY2hlZHVsZXIgcm9sZScsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2NoZWR1bGVyLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgICdzdGF0ZS1tYWNoaW5lLWV4ZWMtcG9saWN5JzogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnc3RhdGVzOlN0YXJ0RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU2NoZWR1bGUgc3RhdGVcbiAgICBjb25zdCBzaGVkdWxlU3RhdGU6IHN0cmluZyA9ICgoKSA9PiB7XG4gICAgICBpZiAocHJvcHMuZW5hYmxlU2NoZWR1bGluZyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLmVuYWJsZVNjaGVkdWxpbmcpIHtcbiAgICAgICAgcmV0dXJuICdFTkFCTEVEJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICAvLyDwn5GHIFN0b3AgU2NoZWR1bGUgZXhwcmVzc2lvblxuICAgIGNvbnN0IHN0b3BTY2hlZHVsZUV4cHJlc3Npb246IHN0cmluZyA9ICgoKSA9PiB7XG4gICAgICAvLyBkZWZhdWx0OiB3ZWVrZGF5IDIxOjEwXG4gICAgICBjb25zdCBtaW51dGU6IHN0cmluZyA9IHByb3BzLnN0b3BTY2hlZHVsZT8ubWludXRlID8/ICcxMCc7XG4gICAgICBjb25zdCBob3VyOiBzdHJpbmcgPSBwcm9wcy5zdG9wU2NoZWR1bGU/LmhvdXIgPz8gJzIxJztcbiAgICAgIGNvbnN0IHdlZWs6IHN0cmluZyA9IHByb3BzLnN0b3BTY2hlZHVsZT8ud2VlayA/PyAnTU9OLUZSSSc7XG4gICAgICByZXR1cm4gYGNyb24oJHttaW51dGV9ICR7aG91cn0gPyAqICR7d2Vla30gKilgO1xuICAgIH0pKCk7XG5cbiAgICAvLyDwn5GHIFN0YXJ0IFNjaGVkdWxlIGV4cHJlc3Npb25cbiAgICBjb25zdCBzdGFydFNjaGVkdWxlRXhwcmVzc2lvbjogc3RyaW5nID0gKCgpID0+IHtcbiAgICAgIC8vIGRlZmF1bHQ6IHdlZWtkYXkgMDc6NTBcbiAgICAgIGNvbnN0IG1pbnV0ZTogc3RyaW5nID0gcHJvcHMuc3RhcnRTY2hlZHVsZT8ubWludXRlID8/ICc1MCc7XG4gICAgICBjb25zdCBob3VyOiBzdHJpbmcgPSBwcm9wcy5zdGFydFNjaGVkdWxlPy5ob3VyID8/ICc3JztcbiAgICAgIGNvbnN0IHdlZWs6IHN0cmluZyA9IHByb3BzLnN0YXJ0U2NoZWR1bGU/LndlZWsgPz8gJ01PTi1GUkknO1xuICAgICAgcmV0dXJuIGBjcm9uKCR7bWludXRlfSAke2hvdXJ9ID8gKiAke3dlZWt9ICopYDtcbiAgICB9KSgpO1xuXG4gICAgLy8g8J+RhyBTdG9wIERCIHNjaGVkdWxlXG4gICAgbmV3IERCUnVuaW5nU2NoZWR1bGUodGhpcywgJ1N0b3BEYXRhYmFzZVJ1bm5pbmdTY2hlZHVsZScsIHtcbiAgICAgIG5hbWU6IG5hbWVzLnN0YXJ0U2NoZWR1bGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdzdG9wIGRhdGFiYXNlKGluc3RhbmNlL2NsdXN0ZXIpIHJ1bm5pbmcgc3RvcCBzY2hlZHVsZS4nLFxuICAgICAgc2hlZHVsZVN0YXRlLFxuICAgICAgdGltZXpvbmU6IHByb3BzLnN0b3BTY2hlZHVsZT8udGltZXpvbmUgPz8gJ1VUQycsXG4gICAgICBleHByZXNzaW9uOiBzdG9wU2NoZWR1bGVFeHByZXNzaW9uLFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIHN0YXRlTWFjaGluZUFybjogc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgcm9sZUFybjogc2NoZWR1bGVyRXhlY1JvbGUucm9sZUFybixcbiAgICAgICAgcmVzb3VyY2VUYWc6IHtcbiAgICAgICAgICBrZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICB2YWx1ZXM6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ1ZhbHVlcyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXQ6IHsgbW9kZTogJ1N0b3AnIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdGFydCBEQiBzY2hlZHVsZVxuICAgIG5ldyBEQlJ1bmluZ1NjaGVkdWxlKHRoaXMsICdTdGFydERhdGFiYXNlUnVubmluZ1NjaGVkdWxlJywge1xuICAgICAgbmFtZTogbmFtZXMuc3RvcFNjaGVkdWxlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3RhcnQgZGIgaW5zdGFuY2Ugc2NoZWR1bGUuJyxcbiAgICAgIHNoZWR1bGVTdGF0ZSxcbiAgICAgIHRpbWV6b25lOiBwcm9wcy5zdGFydFNjaGVkdWxlPy50aW1lem9uZSA/PyAnVVRDJyxcbiAgICAgIGV4cHJlc3Npb246IHN0YXJ0U2NoZWR1bGVFeHByZXNzaW9uLFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIHN0YXRlTWFjaGluZUFybjogc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgcm9sZUFybjogc2NoZWR1bGVyRXhlY1JvbGUucm9sZUFybixcbiAgICAgICAgcmVzb3VyY2VUYWc6IHtcbiAgICAgICAgICBrZXk6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ0tleSxcbiAgICAgICAgICB2YWx1ZXM6IHByb3BzLnRhcmdldFJlc291cmNlLnRhZ1ZhbHVlcyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5wdXQ6IHsgbW9kZTogJ1N0YXJ0JyB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICB9XG59XG5cbmludGVyZmFjZSBEQlJ1bmluZ1NjaGVkdWxlUHJvcHMge1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzaGVkdWxlU3RhdGU6IHN0cmluZztcbiAgdGltZXpvbmU6IHN0cmluZztcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICB0YXJnZXQ6IHtcbiAgICBzdGF0ZU1hY2hpbmVBcm46IHN0cmluZztcbiAgICByb2xlQXJuOiBzdHJpbmc7XG4gICAgcmVzb3VyY2VUYWc6IHtcbiAgICAgIGtleTogc3RyaW5nO1xuICAgICAgdmFsdWVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGlucHV0OiB7XG4gICAgICBtb2RlOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuY2xhc3MgREJSdW5pbmdTY2hlZHVsZSBleHRlbmRzIHNjaGVkdWxlci5DZm5TY2hlZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEQlJ1bmluZ1NjaGVkdWxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBzdGF0ZTogcHJvcHMuc2hlZHVsZVN0YXRlLFxuICAgICAgLy9ncm91cE5hbWU6IHNjaGVkdWxlR3JvdXAubmFtZSwgLy8gZGVmYXVsdFxuICAgICAgZmxleGlibGVUaW1lV2luZG93OiB7XG4gICAgICAgIG1vZGU6ICdPRkYnLFxuICAgICAgfSxcbiAgICAgIHNjaGVkdWxlRXhwcmVzc2lvblRpbWV6b25lOiBwcm9wcy50aW1lem9uZSxcbiAgICAgIHNjaGVkdWxlRXhwcmVzc2lvbjogcHJvcHMuZXhwcmVzc2lvbixcbiAgICAgIHRhcmdldDoge1xuICAgICAgICBhcm46IHByb3BzLnRhcmdldC5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICAgIHJvbGVBcm46IHByb3BzLnRhcmdldC5yb2xlQXJuLFxuICAgICAgICBpbnB1dDogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIFBhcmFtczoge1xuICAgICAgICAgICAgVGFnS2V5OiBwcm9wcy50YXJnZXQucmVzb3VyY2VUYWcua2V5LFxuICAgICAgICAgICAgVGFnVmFsdWVzOiBwcm9wcy50YXJnZXQucmVzb3VyY2VUYWcudmFsdWVzLFxuICAgICAgICAgICAgTW9kZTogcHJvcHMudGFyZ2V0LmlucHV0Lm1vZGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHJldHJ5UG9saWN5OiB7XG4gICAgICAgICAgbWF4aW11bUV2ZW50QWdlSW5TZWNvbmRzOiA2MCxcbiAgICAgICAgICBtYXhpbXVtUmV0cnlBdHRlbXB0czogMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBc0o7QUFDdEosbUNBQW1DO0FBQ25DLDZDQUFnRDtBQUNoRCwyQ0FBMkM7QUFDM0MsdURBQXVEO0FBQ3ZELDJDQUEyQztBQUMzQyxxREFBcUQ7QUFDckQsNkRBQTZEO0FBeUM3RCxNQUFhLCtCQUFnQyxTQUFRLG1CQUFLO0lBQ3hELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkM7UUFDbkYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsaUJBQWlCO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUUzQyxtQ0FBbUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsb0NBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3Ryw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUc7WUFDakIscUJBQXFCLEVBQUUsd0NBQXdDLE1BQU0sUUFBUTtZQUM3RSw0QkFBNEIsRUFBRSw0Q0FBNEM7WUFDMUUsZ0JBQWdCLEVBQUUsMkJBQTJCLE1BQU0sZ0JBQWdCO1lBQ25FLG9CQUFvQixFQUFFLDJCQUEyQixNQUFNLHFCQUFxQjtZQUM1RSxpQkFBaUIsRUFBRSw0QkFBNEIsTUFBTSxZQUFZO1lBQ2pFLGlCQUFpQixFQUFFLDZCQUE2QixNQUFNLFdBQVc7WUFDakUsZ0JBQWdCLEVBQUUsOEJBQThCLE1BQU0sV0FBVztTQUNsRSxDQUFDO1FBQ0Ysa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLG9DQUFj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b250ZW50IjpbImltcG9ydCB7IFJlc291cmNlQXV0b05hbWluZywgUmVzb3VyY2VEZWZhdWx0TmFtaW5nLCBSZXNvdXJjZU5hbWluZywgUmVzb3VyY2VOYW1pbmdPcHRpb25zLCBSZXNvdXJjZU5hbWluZ1R5cGUgfSBmcm9tICdAZ2FtbWFyZXJzL2F3cy1yZXNvdXJjZS1uYW1pbmcnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgc2NoZWR1bGVyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zY2hlZHVsZXInO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCAqIGFzIHRhc2tzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbU5hbWluZyB7XG4gIHJlYWRvbmx5IHR5cGU6IFJlc291cmNlTmFtaW5nVHlwZS5DVVNUT007XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRvcGljTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBub3RpZmljYXRpb25Ub3BpY0Rpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXRlTWFjaGluZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc2NoZWR1bGVyUm9sZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnRTY2hlZHVsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RvcFNjaGVkdWxlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZU5hbWluZ09wdGlvbiA9IFJlc291cmNlRGVmYXVsdE5hbWluZyB8IFJlc291cmNlQXV0b05hbWluZyB8IEN1c3RvbU5hbWluZztcblxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZVByb3BlcnR5IHtcbiAgcmVhZG9ubHkgdGltZXpvbmU6IHN0cmluZztcbiAgcmVhZG9ubHkgbWludXRlPzogc3RyaW5nO1xuICByZWFkb25seSBob3VyPzogc3RyaW5nO1xuICByZWFkb25seSB3ZWVrPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldFJlc291cmNlUHJvcGVydHkge1xuICByZWFkb25seSB0YWdLZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgdGFnVmFsdWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcGVydHkge1xuICByZWFkb25seSBlbWFpbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSRFNEYXRhYmFzZVJ1bm5pbmdTY2hlZHVsZVN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgdGFyZ2V0UmVzb3VyY2U6IFRhcmdldFJlc291cmNlUHJvcGVydHk7XG4gIHJlYWRvbmx5IGVuYWJsZVNjaGVkdWxpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBzdG9wU2NoZWR1bGU/OiBTY2hlZHVsZVByb3BlcnR5O1xuICByZWFkb25seSBzdGFydFNjaGVkdWxlPzogU2NoZWR1bGVQcm9wZXJ0eTtcbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9ucz86IE5vdGlmaWNhdGlvbnNQcm9wZXJ0eTtcbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1pbmdPcHRpb24/OiBSZXNvdXJjZU5hbWluZ09wdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJEU0RhdGFiYXNlUnVubmluZ1NjaGVkdWxlU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSRFNEYXRhYmFzZVJ1bm5pbmdTY2hlZHVsZVN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIC8vIPCfkYcgR2V0IGFjY291bnRcbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnQ7XG5cbiAgICAvLyDwn5GHIENyZWF0ZSByYW5kb20gOCBsZW5ndGggc3RyaW5nXG4gICAgY29uc3QgcmFuZG9tID0gUmVzb3VyY2VOYW1pbmcuY3JlYXRlUmFuZG9tU3RyaW5nKGAke2Nkay5OYW1lcy51bmlxdWVJZChzY29wZSl9LSR7Y2RrLk5hbWVzLnVuaXF1ZUlkKHRoaXMpfWApO1xuICAgIC8vIPCfkYcgRGVmaW5pdGlvbiBhdXRvIG5hbWluZ1xuICAgIGNvbnN0IGF1dG9OYW1pbmcgPSB7XG4gICAgICBub3RpZmljYXRpb25Ub3BpY05hbWU6IGByZHMtZGItcnVubmluZy1zY2hlZHVsZS1ub3RpZmljYXRpb24tJHtyYW5kb219LXRvcGljYCxcbiAgICAgIG5vdGlmaWNhdGlvblRvcGljRGlzcGxheU5hbWU6ICdSRFMgREIgUnVubmluZyBTY2hlZHVsZSBOb3RpZmljYXRpb24gVG9waWMnLFxuICAgICAgc3RhdGVNYWNoaW5lTmFtZTogYHJkcy1kYi1ydW5uaW5nLXNjaGVkdWxlLSR7cmFuZG9tfS1zdGF0ZS1tYWNoaW5lYCxcbiAgICAgIHN0YXRlTWFjaGluZVJvbGVOYW1lOiBgcmRzLWRiLXJ1bm5pbmctc2NoZWR1bGUtJHtyYW5kb219LXN0YXRlLW1hY2hpbmUtcm9sZWAsXG4gICAgICBzY2hlZHVsZXJSb2xlTmFtZTogYHJkcy1kYi1ydW5uaW5nLXNjaGVkdWxlci0ke3JhbmRvbX0tZXhlYy1yb2xlYCxcbiAgICAgIHN0YXJ0U2NoZWR1bGVOYW1lOiBgcmRzLWRhdGFiYXNlLXJ1bm5pbmctc3RvcC0ke3JhbmRvbX0tc2NoZWR1bGVgLFxuICAgICAgc3RvcFNjaGVkdWxlTmFtZTogYHJkcy1kYXRhYmFzZS1ydW5uaW5nLXN0YXJ0LSR7cmFuZG9tfS1zY2hlZHVsZWAsXG4gICAgfTtcbiAgICAvLyDwn5GH44CAZmluYWwgbmFtaW5nXG4gICAgY29uc3QgbmFtZXMgPSBSZXNvdXJjZU5hbWluZy5uYW1pbmcoYXV0b05hbWluZywgcHJvcHMucmVzb3VyY2VOYW1pbmdPcHRpb24gYXMgUmVzb3VyY2VOYW1pbmdPcHRpb25zKTtcblxuXG4gICAgLy8g8J+RhyBTTlMgVG9waWMgZm9yIG5vdGlmaWNhdGlvbnNcbiAgICBjb25zdCB0b3BpYzogc25zLlRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnTm90aWZpY2F0aW9uVG9waWMnLCB7XG4gICAgICB0b3BpY05hbWU6IG5hbWVzLm5vdGlmaWNhdGlvblRvcGljTmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBuYW1lcy5ub3RpZmljYXRpb25Ub3BpY0Rpc3BsYXlOYW1lLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdWJzY3JpYmUgYW4gZW1haWwgZW5kcG9pbnQgdG8gdGhlIHRvcGljXG4gICAgY29uc3QgZW1haWxzID0gcHJvcHMubm90aWZpY2F0aW9ucz8uZW1haWxzID8/IFtdO1xuICAgIGZvciAoY29uc3QgW2luZGV4LCB2YWx1ZV0gb2YgZW1haWxzLmVudHJpZXMoKSkge1xuICAgICAgbmV3IHNucy5TdWJzY3JpcHRpb24odGhpcywgYFN1YnNjcmlwdGlvbkVtYWlsJHtpbmRleC50b1N0cmluZygpLnBhZFN0YXJ0KDMsICcwJyl9YCwge1xuICAgICAgICB0b3BpYyxcbiAgICAgICAgcHJvdG9jb2w6IHNucy5TdWJzY3JpcHRpb25Qcm90b2NvbC5FTUFJTCxcbiAgICAgICAgZW5kcG9pbnQ6IHZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdFN0YXRlTGlzdERlZmluaXRpb246IHNmbi5QYXNzID0gbmV3IHNmbi5QYXNzKHRoaXMsICdJbml0U3RhdGVMaXN0RGVmaW5pdGlvbicsIHtcbiAgICAgIHJlc3VsdDogc2ZuLlJlc3VsdC5mcm9tT2JqZWN0KFtcbiAgICAgICAgeyBuYW1lOiAnQVZBSUxBQkxFJywgZW1vamk6ICfwn6SpJywgc3RhdGU6ICdhdmFpbGFibGUnIH0sXG4gICAgICAgIHsgbmFtZTogJ1NUT1BQRUQnLCBlbW9qaTogJ/CfmLQnLCBzdGF0ZTogJ3N0b3BwZWQnIH0sXG4gICAgICBdKSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLmRlZmluaXRpb24uc3RhdGVMaXN0JyxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgU3VjY2VlZFxuICAgIGNvbnN0IHN0YXRlQ2hhbmdlU3VjY2VlZCA9IG5ldyBzZm4uU3VjY2VlZCh0aGlzLCAnU3RhdGVDaGFuZ2VTdWNjZWVkJyk7XG5cbiAgICBjb25zdCBwcmVwYXJlVG9waWNWYWx1ZSA9IG5ldyBzZm4uUGFzcyh0aGlzLCAnUHJlcGFyZVRvcGljVmFsdWUnLCB7XG4gICAgICByZXN1bHRQYXRoOiAnJC5wcmVwYXJlLnRvcGljLnZhbHVlcycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIGVtb2ppOiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5kZWZpbml0aW9uLnN0YXRlTGlzdFs/KEAuc3RhdGUgPT0gJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQpXS5lbW9qaScpLCAwKSxcbiAgICAgICAgc3RhdHVzOiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5kZWZpbml0aW9uLnN0YXRlTGlzdFs/KEAuc3RhdGUgPT0gJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQpXS5uYW1lJyksIDApLFxuICAgICAgICBhY2NvdW50OiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdTcGxpdChzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuVGFyZ2V0UmVzb3VyY2UnKSwgJzonKSwgNCksIC8vIGFjY291bnRcbiAgICAgICAgcmVnaW9uOiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdTcGxpdChzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuVGFyZ2V0UmVzb3VyY2UnKSwgJzonKSwgMyksIC8vIHJlZ2lvblxuICAgICAgfSxcbiAgICB9KS5uZXh0KG5ldyBzZm4uUGFzcyh0aGlzLCAnR2VuZXJhdGVUb3BpYycsIHtcbiAgICAgIHJlc3VsdFBhdGg6ICckLkdlbmVyYXRlLlRvcGljJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgU3ViamVjdDogc2ZuLkpzb25QYXRoLmZvcm1hdCgne30gW3t9XSBBV1MgUkRTIERCIHt9IFJ1bm5pbmcgTm90aWZpY2F0aW9uIFt7fV1be31dJyxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMuZW1vamknKSxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMuc3RhdHVzJyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnBhcmFtcy5Nb2RlJyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLnByZXBhcmUudG9waWMudmFsdWVzLmFjY291bnQnKSxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMucmVnaW9uJyksXG4gICAgICAgICksXG4gICAgICAgIFRleHRNZXNzYWdlOiBzZm4uSnNvblBhdGguZm9ybWF0KCdBY2NvdW50IDoge31cXG5SZWdpb24gOiB7fVxcblR5cGUgOiB7fVxcbklkZW50aWZpZXIgOiB7fVxcblN0YXR1cyA6IHt9JyxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQucHJlcGFyZS50b3BpYy52YWx1ZXMuYWNjb3VudCcpLFxuICAgICAgICAgIHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5wcmVwYXJlLnRvcGljLnZhbHVlcy5yZWdpb24nKSxcbiAgICAgICAgICBzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuUmVzdWx0LnRhcmdldC50eXBlJyksXG4gICAgICAgICAgc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQuaWRlbnRpZmllcicpLFxuICAgICAgICAgIHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5wcmVwYXJlLnRvcGljLnZhbHVlcy5zdGF0dXMnKSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSkubmV4dChuZXcgdGFza3MuU25zUHVibGlzaCh0aGlzLCAnU2VuZE5vdGlmaWNhdGlvbicsIHtcbiAgICAgIHRvcGljOiB0b3BpYyxcbiAgICAgIHN1YmplY3Q6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5HZW5lcmF0ZS5Ub3BpYy5TdWJqZWN0JyksXG4gICAgICBtZXNzYWdlOiBzZm4uVGFza0lucHV0LmZyb21Kc29uUGF0aEF0KCckLkdlbmVyYXRlLlRvcGljLlRleHRNZXNzYWdlJyksXG4gICAgICByZXN1bHRQYXRoOiAnJC5zbnNSZXN1bHQnLFxuICAgIH0pLm5leHQoc3RhdGVDaGFuZ2VTdWNjZWVkKSkpO1xuXG4gICAgLy8g8J+RhyBHZXQgREIgSW5zdGFuY2UgUmVzb3VyY2VzIChGaWx0ZXIgYnkgVGFnKVxuICAgIGNvbnN0IGdldFJlc291cmNlcyA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnR2V0UmVzb3VyY2VzJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbJyonXSxcbiAgICAgIGlhbUFjdGlvbjogJ3RhZzpHZXRSZXNvdXJjZXMnLFxuICAgICAgc2VydmljZTogJ3Jlc291cmNlZ3JvdXBzdGFnZ2luZ2FwaScsXG4gICAgICBhY3Rpb246ICdnZXRSZXNvdXJjZXMnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBSZXNvdXJjZVR5cGVGaWx0ZXJzOiBbXG4gICAgICAgICAgJ3JkczpkYicsXG4gICAgICAgICAgJ3JkczpjbHVzdGVyJyxcbiAgICAgICAgXSxcbiAgICAgICAgVGFnRmlsdGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIEtleTogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlBhcmFtcy5UYWdLZXknKSxcbiAgICAgICAgICAgIFZhbHVlczogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlBhcmFtcy5UYWdWYWx1ZXMnKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLlJlc3VsdCcsXG4gICAgICByZXN1bHRTZWxlY3Rvcjoge1xuICAgICAgICBUYXJnZXRSZXNvdXJjZXM6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC4uUmVzb3VyY2VUYWdNYXBwaW5nTGlzdFsqXS5SZXNvdXJjZUFSTicpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGluaXRTdGF0ZUxpc3REZWZpbml0aW9uLm5leHQoZ2V0UmVzb3VyY2VzKTtcblxuICAgIC8vIPCfkYcgRGVzY3JpYmUgREIgSW5zdGFuY2UgVGFza1xuICAgIGNvbnN0IGRlc2NyaWJlREJJbnN0YW5jZXNUYXNrID0gbmV3IHRhc2tzLkNhbGxBd3NTZXJ2aWNlKHRoaXMsICdEZXNjcmliZURCSW5zdGFuY2VzJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbYGFybjphd3M6cmRzOio6JHthY2NvdW50fTpkYjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ2Rlc2NyaWJlREJJbnN0YW5jZXMnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBEYkluc3RhbmNlSWRlbnRpZmllcjogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQuaWRlbnRpZmllcicpLFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLlJlc3VsdC5zdGF0dXMnLFxuICAgICAgcmVzdWx0U2VsZWN0b3I6IHtcbiAgICAgICAgY3VycmVudDogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLkRiSW5zdGFuY2VzWzBdLkRiSW5zdGFuY2VTdGF0dXMnKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIFN0b3AgREIgSW5zdGFuY2UgVGFza1xuICAgIGNvbnN0IHN0b3BEQkluc3RhbmNlVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnU3RvcERCSW5zdGFuY2UnLCB7XG4gICAgICBpYW1SZXNvdXJjZXM6IFtgYXJuOmF3czpyZHM6Kjoke2FjY291bnR9OmRiOipgXSxcbiAgICAgIHNlcnZpY2U6ICdyZHMnLFxuICAgICAgYWN0aW9uOiAnc3RvcERCSW5zdGFuY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBEYkluc3RhbmNlSWRlbnRpZmllcjogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQuaWRlbnRpZmllcicpLFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLlJlc3VsdC5TdG9wREJJbnN0YW5jZScsXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIFN0YXJ0IERCIEluc3RhbmNlIFRhc2tcbiAgICBjb25zdCBzdGFydERCSW5zdGFuY2VUYXNrID0gbmV3IHRhc2tzLkNhbGxBd3NTZXJ2aWNlKHRoaXMsICdTdGFydERCSW5zdGFuY2UnLCB7XG4gICAgICBpYW1SZXNvdXJjZXM6IFtgYXJuOmF3czpyZHM6Kjoke2FjY291bnR9OmRiOipgXSxcbiAgICAgIHNlcnZpY2U6ICdyZHMnLFxuICAgICAgYWN0aW9uOiAnc3RhcnREQkluc3RhbmNlJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGJJbnN0YW5jZUlkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuU3RhcnREQkluc3RhbmNlJyxcbiAgICB9KTtcblxuICAgIC8vIPCfkYcgRGVzY3JpYmUgREIgQ2x1c3RlciBUYXNrXG4gICAgY29uc3QgZGVzY3JpYmVEQkNsdXN0ZXJzVGFzayA9IG5ldyB0YXNrcy5DYWxsQXdzU2VydmljZSh0aGlzLCAnRGVzY3JpYmVEQkNsdXN0ZXJzJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbYGFybjphd3M6cmRzOio6JHthY2NvdW50fTpjbHVzdGVyOipgXSxcbiAgICAgIHNlcnZpY2U6ICdyZHMnLFxuICAgICAgYWN0aW9uOiAnZGVzY3JpYmVEQkNsdXN0ZXJzJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGJDbHVzdGVySWRlbnRpZmllcjogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQuaWRlbnRpZmllcicpLFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLlJlc3VsdC5zdGF0dXMnLFxuICAgICAgcmVzdWx0U2VsZWN0b3I6IHtcbiAgICAgICAgY3VycmVudDogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLkRiQ2x1c3RlcnNbMF0uU3RhdHVzJyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlRGJDbHVzdGVyTm90Rm91bmQgPSBuZXcgc2ZuLlBhc3ModGhpcywgJ0hhbmRsZURiQ2x1c3Rlck5vdEZvdW5kJywge1xuICAgICAgcmVzdWx0OiBzZm4uUmVzdWx0LmZyb21PYmplY3Qoe1xuICAgICAgICBtZXNzYWdlOiAnREIgQ2x1c3RlciBub3QgZm91bmQsIGJ1dCBjb250aW51aW5nLi4uJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmVEQkNsdXN0ZXJzVGFzay5hZGRDYXRjaChoYW5kbGVEYkNsdXN0ZXJOb3RGb3VuZCwge1xuICAgICAgZXJyb3JzOiBbJ1Jkcy5EYkNsdXN0ZXJOb3RGb3VuZEV4Y2VwdGlvbiddLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTdG9wIERCIENsdXN0ZXIgVGFza1xuICAgIGNvbnN0IHN0b3BEQkNsdXN0ZXJUYXNrID0gbmV3IHRhc2tzLkNhbGxBd3NTZXJ2aWNlKHRoaXMsICdTdG9wREJDbHVzdGVyJywge1xuICAgICAgaWFtUmVzb3VyY2VzOiBbYGFybjphd3M6cmRzOio6JHthY2NvdW50fTpjbHVzdGVyOipgXSxcbiAgICAgIHNlcnZpY2U6ICdyZHMnLFxuICAgICAgYWN0aW9uOiAnc3RvcERCQ2x1c3RlcicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIERiQ2x1c3RlcklkZW50aWZpZXI6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQudGFyZ2V0LmlkZW50aWZpZXInKSxcbiAgICAgIH0sXG4gICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQuU3RvcERCQ2x1c3RlcicsXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIFN0b3AgREIgQ2x1c3RlciBUYXNrXG4gICAgY29uc3Qgc3RhcnREQkNsdXN0ZXJUYXNrID0gbmV3IHRhc2tzLkNhbGxBd3NTZXJ2aWNlKHRoaXMsICdTdGFydERCQ2x1c3RlcicsIHtcbiAgICAgIGlhbVJlc291cmNlczogW2Bhcm46YXdzOnJkczoqOiR7YWNjb3VudH06Y2x1c3RlcjoqYF0sXG4gICAgICBzZXJ2aWNlOiAncmRzJyxcbiAgICAgIGFjdGlvbjogJ3N0YXJ0REJDbHVzdGVyJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGJDbHVzdGVySWRlbnRpZmllcjogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlJlc3VsdC50YXJnZXQuaWRlbnRpZmllcicpLFxuICAgICAgfSxcbiAgICAgIHJlc3VsdFBhdGg6ICckLlJlc3VsdC5TdGFydERCQ2x1c3RlcicsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZXNjcmliZVR5cGVDaG9pY2UgPSBuZXcgc2ZuLkNob2ljZSh0aGlzLCAnRGVzY3JpYmVUeXBlQ2hvaWNlJylcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnZGInKSxcbiAgICAgICAgZGVzY3JpYmVEQkluc3RhbmNlc1Rhc2ssXG4gICAgICApXG4gICAgICAud2hlbihcbiAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2NsdXN0ZXInKSxcbiAgICAgICAgZGVzY3JpYmVEQkNsdXN0ZXJzVGFzayxcbiAgICAgIClcbiAgICAgIC5vdGhlcndpc2UobmV3IHNmbi5GYWlsKHRoaXMsICdVbmtub3duVHlwZScpKTtcblxuICAgIGNvbnN0IHN0YXR1c0NoYW5nZVdhaXQgPSBuZXcgc2ZuLldhaXQodGhpcywgJ1N0YXR1c0NoYW5nZVdhaXQnLCB7XG4gICAgICB0aW1lOiBzZm4uV2FpdFRpbWUuZHVyYXRpb24oY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSkpLFxuICAgIH0pO1xuICAgIHN0YXR1c0NoYW5nZVdhaXQubmV4dChkZXNjcmliZVR5cGVDaG9pY2UpO1xuXG4gICAgc3RhcnREQkluc3RhbmNlVGFzay5uZXh0KHN0YXR1c0NoYW5nZVdhaXQpO1xuICAgIHN0b3BEQkluc3RhbmNlVGFzay5uZXh0KHN0YXR1c0NoYW5nZVdhaXQpO1xuXG4gICAgc3RhcnREQkNsdXN0ZXJUYXNrLm5leHQoc3RhdHVzQ2hhbmdlV2FpdCk7XG4gICAgc3RvcERCQ2x1c3RlclRhc2submV4dChzdGF0dXNDaGFuZ2VXYWl0KTtcblxuICAgIGNvbnN0IHN0YXR1c0Nob2ljZSA9IG5ldyBzZm4uQ2hvaWNlKHRoaXMsICdTdGF0dXNDaG9pY2UnKVxuICAgICAgLy8gZGIgaW5zdGFuY2Ugc3RhcnQgb24gc3RhdHVzLnN0b3BwZWRcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdGFydCcpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdkYicpLFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdzdG9wcGVkJyksXG4gICAgICAgICksXG4gICAgICAgIHN0YXJ0REJJbnN0YW5jZVRhc2ssXG4gICAgICApXG4gICAgICAvLyBkYiBpbnN0YW5jZSBzdG9wIG9uIHN0YXR1cy5hdmFpbGFibGVcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdG9wJyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2RiJyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ2F2YWlsYWJsZScpLFxuICAgICAgICApLFxuICAgICAgICBzdG9wREJJbnN0YW5jZVRhc2ssXG4gICAgICApXG4gICAgICAvLyBzdGFydCBvbiBzdGF0dXMuc3RvcHBlZFxuICAgICAgLndoZW4oXG4gICAgICAgIHNmbi5Db25kaXRpb24uYW5kKFxuICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLnBhcmFtcy5Nb2RlJywgJ1N0YXJ0JyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2NsdXN0ZXInKSxcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnc3RvcHBlZCcpLFxuICAgICAgICApLFxuICAgICAgICBzdGFydERCQ2x1c3RlclRhc2ssXG4gICAgICApXG4gICAgICAvLyBzdG9wIG9uIHN0YXR1cy5hdmFpbGFibGVcbiAgICAgIC53aGVuKFxuICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdG9wJyksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2NsdXN0ZXInKSxcbiAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnYXZhaWxhYmxlJyksXG4gICAgICAgICksXG4gICAgICAgIHN0b3BEQkNsdXN0ZXJUYXNrLFxuICAgICAgKVxuICAgICAgLy8gc3RhdHVzIGNoYW5nZSBzdWNjZWVkLCBnZW5lcmF0ZSB0b3BpY1xuICAgICAgLndoZW4oXG4gICAgICAgIHNmbi5Db25kaXRpb24ub3IoXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdGFydCcpLFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5vcihcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2RiJyksXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ2F2YWlsYWJsZScpLFxuICAgICAgICAgICksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5wYXJhbXMuTW9kZScsICdTdG9wJyksXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnZGInKSxcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnRhcmdldC50eXBlJywgJ2NsdXN0ZXInKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnc3RvcHBlZCcpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHByZXBhcmVUb3BpY1ZhbHVlLFxuICAgICAgKVxuICAgICAgLndoZW4oXG4gICAgICAgIC8vIHN0YXJ0ICYgc3RhcnRpbmcvY29uZmlndXJpbmctZW5oYW5jZWQtbW9uaXRvcmluZy9iYWNraW5nLXVwIG9yIHN0b3AgbW9kaWZ5aW5nL3N0b3BwaW5nXG4gICAgICAgIHNmbi5Db25kaXRpb24ub3IoXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RhcnQnKSxcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5vcihcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnZGInKSxcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQudGFyZ2V0LnR5cGUnLCAnY2x1c3RlcicpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdzdGFydGluZycpLFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdjb25maWd1cmluZy1lbmhhbmNlZC1tb25pdG9yaW5nJyksXG4gICAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ2JhY2tpbmctdXAnKSxcbiAgICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLnN0cmluZ0VxdWFscygnJC5SZXN1bHQuc3RhdHVzLmN1cnJlbnQnLCAnbW9kaWZ5aW5nJyksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgICAgc2ZuLkNvbmRpdGlvbi5hbmQoXG4gICAgICAgICAgICBzZm4uQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQucGFyYW1zLk1vZGUnLCAnU3RvcCcpLFxuICAgICAgICAgICAgICBzZm4uQ29uZGl0aW9uLm9yKFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdkYicpLFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC50YXJnZXQudHlwZScsICdjbHVzdGVyJyksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIHNmbi5Db25kaXRpb24ub3IoXG4gICAgICAgICAgICAgICAgc2ZuLkNvbmRpdGlvbi5zdHJpbmdFcXVhbHMoJyQuUmVzdWx0LnN0YXR1cy5jdXJyZW50JywgJ21vZGlmeWluZycpLFxuICAgICAgICAgICAgICAgIHNmbi5Db25kaXRpb24uc3RyaW5nRXF1YWxzKCckLlJlc3VsdC5zdGF0dXMuY3VycmVudCcsICdzdG9wcGluZycpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICBzdGF0dXNDaGFuZ2VXYWl0LFxuICAgICAgKVxuICAgICAgLm90aGVyd2lzZShuZXcgc2ZuLkZhaWwodGhpcywgJ1N0YXR1c0ZhaWwnLCB7XG4gICAgICAgIGNhdXNlOiAnZGIgaW5zdGFuY2Ugb3IgY2x1c3RlciBzdGF0dXMgZmFpbC4nLFxuICAgICAgfSkpO1xuXG4gICAgZ2V0UmVzb3VyY2VzLm5leHQoXG4gICAgICBuZXcgc2ZuLk1hcCh0aGlzLCAnUmVzb3VyY2VQcm9jZXNzaW5nTWFwJywge1xuICAgICAgICBpdGVtc1BhdGg6IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5SZXN1bHQuVGFyZ2V0UmVzb3VyY2VzJyksXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBUYXJnZXRSZXNvdXJjZTogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckJC5NYXAuSXRlbS5WYWx1ZScpLFxuICAgICAgICAgIHBhcmFtczogc2ZuLkpzb25QYXRoLnN0cmluZ0F0KCckLlBhcmFtcycpLFxuICAgICAgICAgIGRlZmluaXRpb246IHNmbi5Kc29uUGF0aC5zdHJpbmdBdCgnJC5kZWZpbml0aW9uJyksXG4gICAgICAgIH0sXG4gICAgICAgIG1heENvbmN1cnJlbmN5OiAxMCxcbiAgICAgIH0pLml0ZW1Qcm9jZXNzb3IoXG4gICAgICAgIG5ldyBzZm4uUGFzcyh0aGlzLCAnR2V0SWRlbnRpZmllcicsIHtcbiAgICAgICAgICByZXN1bHRQYXRoOiAnJC5SZXN1bHQudGFyZ2V0JyxcbiAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICBpZGVudGlmaWVyOiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdTcGxpdChzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuVGFyZ2V0UmVzb3VyY2UnKSwgJzonKSwgNiksXG4gICAgICAgICAgICB0eXBlOiBzZm4uSnNvblBhdGguYXJyYXlHZXRJdGVtKHNmbi5Kc29uUGF0aC5zdHJpbmdTcGxpdChzZm4uSnNvblBhdGguc3RyaW5nQXQoJyQuVGFyZ2V0UmVzb3VyY2UnKSwgJzonKSwgNSksIC8vIGRiIG9yIGNsdXN0ZXJcbiAgICAgICAgICB9LFxuICAgICAgICB9KS5uZXh0KGRlc2NyaWJlVHlwZUNob2ljZSkpKTtcblxuICAgIGRlc2NyaWJlREJJbnN0YW5jZXNUYXNrLm5leHQoc3RhdHVzQ2hvaWNlKTtcbiAgICBkZXNjcmliZURCQ2x1c3RlcnNUYXNrLm5leHQoc3RhdHVzQ2hvaWNlKTtcblxuICAgIC8vIPCfkYcgU3RlcEZ1bmN0aW9ucyBTdGF0ZSBNYWNoaW5lXG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IHNmbi5TdGF0ZU1hY2hpbmUodGhpcywgJ1N0YXRlTWFjaGluZScsIHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IG5hbWVzLnN0YXRlTWFjaGluZU5hbWUsXG4gICAgICBkZWZpbml0aW9uQm9keTogc2ZuLkRlZmluaXRpb25Cb2R5LmZyb21DaGFpbmFibGUoaW5pdFN0YXRlTGlzdERlZmluaXRpb24pLFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyByZW5hbWUgcm9sZSBuYW1lICYgZGVzY3JpcHRpb24uXG4gICAgaWYgKG5hbWVzLnN0YXRlTWFjaGluZVJvbGVOYW1lKSB7XG4gICAgICBjb25zdCByb2xlID0gc3RhdGVNYWNoaW5lLm5vZGUuZmluZENoaWxkKCdSb2xlJykgYXMgaWFtLlJvbGU7XG4gICAgICBjb25zdCBjZm5Sb2xlID0gcm9sZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBpYW0uQ2ZuUm9sZTtcbiAgICAgIGNmblJvbGUuYWRkUHJvcGVydHlPdmVycmlkZSgnUm9sZU5hbWUnLCBuYW1lcy5zdGF0ZU1hY2hpbmVSb2xlTmFtZSk7XG4gICAgICBjZm5Sb2xlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ0Rlc2NyaXB0aW9uJywgJ1JEUyBEQiBSdW5uaW5nIG1hY2hpbmUgcm9sZS4nKTtcbiAgICAgIGNvbnN0IHBvbGljeSA9IHJvbGUubm9kZS5maW5kQ2hpbGQoJ0RlZmF1bHRQb2xpY3knKSBhcyBpYW0uUG9saWN5O1xuICAgICAgY29uc3QgY2ZuUG9saWN5ID0gcG9saWN5Lm5vZGUuZGVmYXVsdENoaWxkIGFzIGlhbS5DZm5Qb2xpY3k7XG4gICAgICBjZm5Qb2xpY3kuYWRkUHJvcGVydHlPdmVycmlkZSgnUG9saWN5TmFtZScsIGByZHMtZGItcnVubmluZy1zY2hlZHVsZS0ke3JhbmRvbX0tc3RhdGUtbWFjaGluZS1wb2xpY3lgKTtcbiAgICB9XG5cbiAgICAvLyDwn5GHIFN0YXRlTWFjaGluZSBFeGVjIFJvbGUgb2YgU2NoZWR1bGVyXG4gICAgY29uc3Qgc2NoZWR1bGVyRXhlY1JvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ1NjaGVkdWxlckV4ZWN1dGlvblJvbGUnLCB7XG4gICAgICByb2xlTmFtZTogbmFtZXMuc2NoZWR1bGVyUm9sZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ1JEUyBEQiBSdW5uaW5nIHNjaGVkdWxlciByb2xlJyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzY2hlZHVsZXIuYW1hem9uYXdzLmNvbScpLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgJ3N0YXRlLW1hY2hpbmUtZXhlYy1wb2xpY3knOiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzdGF0ZXM6U3RhcnRFeGVjdXRpb24nLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgICBzdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8g8J+RhyBTY2hlZHVsZSBzdGF0ZVxuICAgIGNvbnN0IHNoZWR1bGVTdGF0ZTogc3RyaW5nID0gKCgpID0+IHtcbiAgICAgIGlmIChwcm9wcy5lbmFibGVTY2hlZHVsaW5nID09PSB1bmRlZmluZWQgfHwgcHJvcHMuZW5hYmxlU2NoZWR1bGluZykge1xuICAgICAgICByZXR1cm4gJ0VOQUJMRUQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdESVNBQkxFRCc7XG4gICAgICB9XG4gICAgfSkoKTtcblxuICAgIC8vIPCfkYcgU3RvcCBTY2hlZHVsZSBleHByZXNzaW9uXG4gICAgY29uc3Qgc3RvcFNjaGVkdWxlRXhwcmVzc2lvbjogc3RyaW5nID0gKCgpID0+IHtcbiAgICAgIC8vIGRlZmF1bHQ6IHdlZWtkYXkgMjE6MTBcbiAgICAgIGNvbnN0IG1pbnV0ZTogc3RyaW5nID0gcHJvcHMuc3RvcFNjaGVkdWxlPy5taW51dGUgPz8gJzEwJztcbiAgICAgIGNvbnN0IGhvdXI6IHN0cmluZyA9IHByb3BzLnN0b3BTY2hlZHVsZT8uaG91ciA/PyAnMjEnO1xuICAgICAgY29uc3Qgd2Vlazogc3RyaW5nID0gcHJvcHMuc3RvcFNjaGVkdWxlPy53ZWVrID8/ICdNT04tRlJJJztcbiAgICAgIHJldHVybiBgY3Jvbigke21pbnV0ZX0gJHtob3VyfSA/ICogJHt3ZWVrfSAqKWA7XG4gICAgfSkoKTtcblxuICAgIC8vIPCfkYcgU3RhcnQgU2NoZWR1bGUgZXhwcmVzc2lvblxuICAgIGNvbnN0IHN0YXJ0U2NoZWR1bGVFeHByZXNzaW9uOiBzdHJpbmcgPSAoKCkgPT4ge1xuICAgICAgLy8gZGVmYXVsdDogd2Vla2RheSAwNzo1MFxuICAgICAgY29uc3QgbWludXRlOiBzdHJpbmcgPSBwcm9wcy5zdGFydFNjaGVkdWxlPy5taW51dGUgPz8gJzUwJztcbiAgICAgIGNvbnN0IGhvdXI6IHN0cmluZyA9IHByb3BzLnN0YXJ0U2NoZWR1bGU/LmhvdXIgPz8gJzcnO1xuICAgICAgY29uc3Qgd2Vlazogc3RyaW5nID0gcHJvcHMuc3RhcnRTY2hlZHVsZT8ud2VlayA/PyAnTU9OLUZSSSc7XG4gICAgICByZXR1cm4gYGNyb24oJHttaW51dGV9ICR7aG91cn0gPyAqICR7d2Vla30gKilgO1xuICAgIH0pKCk7XG5cbiAgICAvLyDwn5GHIFN0b3AgREIgc2NoZWR1bGVcbiAgICBuZXcgREJSdW5pbmdTY2hlZHVsZSh0aGlzLCAnU3RvcERhdGFiYXNlUnVubmluZ1NjaGVkdWxlJywge1xuICAgICAgbmFtZTogbmFtZXMuc3RhcnRTY2hlZHVsZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogJ3N0b3AgZGF0YWJhc2UoaW5zdGFuY2UvY2x1c3RlcikgcnVubmluZyBzdG9wIHNjaGVkdWxlLicsXG4gICAgICBzaGVkdWxlU3RhdGUsXG4gICAgICB0aW1lem9uZTogcHJvcHMuc3RvcFNjaGVkdWxlPy50aW1lem9uZSA/PyAnVVRDJyxcbiAgICAgIGV4cHJlc3Npb246IHN0b3BTY2hlZHVsZUV4cHJlc3Npb24sXG4gICAgICB0YXJnZXQ6IHtcbiAgICAgICAgc3RhdGVNYWNoaW5lQXJuOiBzdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgICByb2xlQXJuOiBzY2hlZHVsZXJFeGVjUm9sZS5yb2xlQXJuLFxuICAgICAgICByZXNvdXJjZVRhZzoge1xuICAgICAgICAgIGtleTogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnS2V5LFxuICAgICAgICAgIHZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dDogeyBtb2RlOiAnU3RvcCcgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyDwn5GHIFN0YXJ0IERCIHNjaGVkdWxlXG4gICAgbmV3IERCUnVuaW5nU2NoZWR1bGUodGhpcywgJ1N0YXJ0RGF0YWJhc2VSdW5uaW5nU2NoZWR1bGUnLCB7XG4gICAgICBuYW1lOiBuYW1lcy5zdG9wU2NoZWR1bGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdzdGFydCBkYiBpbnN0YW5jZSBzY2hlZHVsZS4nLFxuICAgICAgc2hlZHVsZVN0YXRlLFxuICAgICAgdGltZXpvbmU6IHByb3BzLnN0YXJ0U2NoZWR1bGU/LnRpbWV6b25lID8/ICdVVEMnLFxuICAgICAgZXhwcmVzc2lvbjogc3RhcnRTY2hlZHVsZUV4cHJlc3Npb24sXG4gICAgICB0YXJnZXQ6IHtcbiAgICAgICAgc3RhdGVNYWNoaW5lQXJuOiBzdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgICByb2xlQXJuOiBzY2hlZHVsZXJFeGVjUm9sZS5yb2xlQXJuLFxuICAgICAgICByZXNvdXJjZVRhZzoge1xuICAgICAgICAgIGtleTogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnS2V5LFxuICAgICAgICAgIHZhbHVlczogcHJvcHMudGFyZ2V0UmVzb3VyY2UudGFnVmFsdWVzLFxuICAgICAgICB9LFxuICAgICAgICBpbnB1dDogeyBtb2RlOiAnU3RhcnQnIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gIH1cbn1cblxuaW50ZXJmYWNlIERCUnVuaW5nU2NoZWR1bGVQcm9wcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNoZWR1bGVTdGF0ZTogc3RyaW5nO1xuICB0aW1lem9uZTogc3RyaW5nO1xuICBleHByZXNzaW9uOiBzdHJpbmc7XG4gIHRhcmdldDoge1xuICAgIHN0YXRlTWFjaGluZUFybjogc3RyaW5nO1xuICAgIHJvbGVBcm46IHN0cmluZztcbiAgICByZXNvdXJjZVRhZzoge1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICB2YWx1ZXM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgaW5wdXQ6IHtcbiAgICAgIG1vZGU6IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5jbGFzcyBEQlJ1bmluZ1NjaGVkdWxlIGV4dGVuZHMgc2NoZWR1bGVyLkNmblNjaGVkdWxlIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERCUnVuaW5nU2NoZWR1bGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHN0YXRlOiBwcm9wcy5zaGVkdWxlU3RhdGUsXG4gICAgICAvL2dyb3VwTmFtZTogc2NoZWR1bGVHcm91cC5uYW1lLCAvLyBkZWZhdWx0XG4gICAgICBmbGV4aWJsZVRpbWVXaW5kb3c6IHtcbiAgICAgICAgbW9kZTogJ09GRicsXG4gICAgICB9LFxuICAgICAgc2NoZWR1bGVFeHByZXNzaW9uVGltZXpvbmU6IHByb3BzLnRpbWV6b25lLFxuICAgICAgc2NoZWR1bGVFeHByZXNzaW9uOiBwcm9wcy5leHByZXNzaW9uLFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIGFybjogcHJvcHMudGFyZ2V0LnN0YXRlTWFjaGluZUFybixcbiAgICAgICAgcm9sZUFybjogcHJvcHMudGFyZ2V0LnJvbGVBcm4sXG4gICAgICAgIGlucHV0OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgUGFyYW1zOiB7XG4gICAgICAgICAgICBUYWdLZXk6IHByb3BzLnRhcmdldC5yZXNvdXJjZVRhZy5rZXksXG4gICAgICAgICAgICBUYWdWYWx1ZXM6IHByb3BzLnRhcmdldC5yZXNvdXJjZVRhZy52YWx1ZXMsXG4gICAgICAgICAgICBNb2RlOiBwcm9wcy50YXJnZXQuaW5wdXQubW9kZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgcmV0cnlQb2xpY3k6IHtcbiAgICAgICAgICBtYXhpbXVtRXZlbnRBZ2VJblNlY29uZHM6IDYwLFxuICAgICAgICAgIG1heGltdW1SZXRyeUF0dGVtcHRzOiAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"organization": true
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
+
"@gammarers/aws-resource-naming": "0.8.2",
|
|
40
41
|
"@stylistic/eslint-plugin": "^2",
|
|
41
42
|
"@types/jest": "^29.5.14",
|
|
42
43
|
"@types/node": "^16",
|
|
@@ -61,11 +62,12 @@
|
|
|
61
62
|
"typescript": "5.5.x"
|
|
62
63
|
},
|
|
63
64
|
"peerDependencies": {
|
|
65
|
+
"@gammarers/aws-resource-naming": "^0.8.2",
|
|
64
66
|
"aws-cdk-lib": "^2.120.0",
|
|
65
67
|
"constructs": "^10.0.5"
|
|
66
68
|
},
|
|
67
69
|
"dependencies": {
|
|
68
|
-
"@gammarers/aws-resource-naming": "
|
|
70
|
+
"@gammarers/aws-resource-naming": "0.8.2"
|
|
69
71
|
},
|
|
70
72
|
"keywords": [
|
|
71
73
|
"aws",
|
|
@@ -84,7 +86,7 @@
|
|
|
84
86
|
"publishConfig": {
|
|
85
87
|
"access": "public"
|
|
86
88
|
},
|
|
87
|
-
"version": "2.3.
|
|
89
|
+
"version": "2.3.1",
|
|
88
90
|
"jest": {
|
|
89
91
|
"coverageProvider": "v8",
|
|
90
92
|
"testMatch": [
|