@rio-cloud/cdk-v2-constructs 4.30.0 → 4.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -11,7 +11,7 @@
11
11
  "js-yaml": "~4.1.0"
12
12
  },
13
13
  "dependencies": {
14
- "aws-cdk-lib": "^2.110.1",
14
+ "aws-cdk-lib": "^2.128.0",
15
15
  "constructs": "^10.3.0"
16
16
  },
17
17
  "dependencyClosure": {
@@ -225,6 +225,8 @@
225
225
  }
226
226
  }
227
227
  },
228
+ "aws-cdk-lib.aws_apigatewayv2_authorizers": {},
229
+ "aws-cdk-lib.aws_apigatewayv2_integrations": {},
228
230
  "aws-cdk-lib.aws_appconfig": {
229
231
  "targets": {
230
232
  "dotnet": {
@@ -355,6 +357,19 @@
355
357
  }
356
358
  }
357
359
  },
360
+ "aws-cdk-lib.aws_arczonalshift": {
361
+ "targets": {
362
+ "dotnet": {
363
+ "package": "Amazon.CDK.AWS.ARCZonalShift"
364
+ },
365
+ "java": {
366
+ "package": "software.amazon.awscdk.services.arczonalshift"
367
+ },
368
+ "python": {
369
+ "module": "aws_cdk.aws_arczonalshift"
370
+ }
371
+ }
372
+ },
358
373
  "aws-cdk-lib.aws_athena": {
359
374
  "targets": {
360
375
  "dotnet": {
@@ -433,6 +448,19 @@
433
448
  }
434
449
  }
435
450
  },
451
+ "aws-cdk-lib.aws_b2bi": {
452
+ "targets": {
453
+ "dotnet": {
454
+ "package": "Amazon.CDK.AWS.B2BI"
455
+ },
456
+ "java": {
457
+ "package": "software.amazon.awscdk.services.b2bi"
458
+ },
459
+ "python": {
460
+ "module": "aws_cdk.aws_b2bi"
461
+ }
462
+ }
463
+ },
436
464
  "aws-cdk-lib.aws_backup": {
437
465
  "targets": {
438
466
  "dotnet": {
@@ -452,7 +480,7 @@
452
480
  "package": "Amazon.CDK.AWS.BackupGateway"
453
481
  },
454
482
  "java": {
455
- "package": "services.backupgateway"
483
+ "package": "software.amazon.awscdk.services.backupgateway"
456
484
  },
457
485
  "python": {
458
486
  "module": "aws_cdk.aws_backupgateway"
@@ -472,6 +500,19 @@
472
500
  }
473
501
  }
474
502
  },
503
+ "aws-cdk-lib.aws_bedrock": {
504
+ "targets": {
505
+ "dotnet": {
506
+ "namespace": "Amazon.CDK.AWS.Bedrock"
507
+ },
508
+ "java": {
509
+ "package": "software.amazon.awscdk.services.bedrock"
510
+ },
511
+ "python": {
512
+ "module": "aws_cdk.aws_bedrock"
513
+ }
514
+ }
515
+ },
475
516
  "aws-cdk-lib.aws_billingconductor": {
476
517
  "targets": {
477
518
  "dotnet": {
@@ -556,7 +597,7 @@
556
597
  "package": "Amazon.CDK.AWS.CleanRooms"
557
598
  },
558
599
  "java": {
559
- "package": "services.cleanrooms"
600
+ "package": "software.amazon.awscdk.services.cleanrooms"
560
601
  },
561
602
  "python": {
562
603
  "module": "aws_cdk.aws_cleanrooms"
@@ -941,6 +982,19 @@
941
982
  }
942
983
  }
943
984
  },
985
+ "aws-cdk-lib.aws_datazone": {
986
+ "targets": {
987
+ "dotnet": {
988
+ "package": "Amazon.CDK.AWS.DataZone"
989
+ },
990
+ "java": {
991
+ "package": "software.amazon.awscdk.services.datazone"
992
+ },
993
+ "python": {
994
+ "module": "aws_cdk.aws_datazone"
995
+ }
996
+ }
997
+ },
944
998
  "aws-cdk-lib.aws_dax": {
945
999
  "targets": {
946
1000
  "dotnet": {
@@ -1298,7 +1352,7 @@
1298
1352
  "package": "Amazon.CDK.AWS.EntityResolution"
1299
1353
  },
1300
1354
  "java": {
1301
- "package": "services.entityresolution"
1355
+ "package": "software.amazon.awscdk.services.entityresolution"
1302
1356
  },
1303
1357
  "python": {
1304
1358
  "module": "aws_cdk.aws_entityresolution"
@@ -1558,7 +1612,7 @@
1558
1612
  "package": "Amazon.CDK.AWS.HealthImaging"
1559
1613
  },
1560
1614
  "java": {
1561
- "package": "services.healthimaging"
1615
+ "package": "software.amazon.awscdk.services.healthimaging"
1562
1616
  },
1563
1617
  "python": {
1564
1618
  "module": "aws_cdk.aws_healthimaging"
@@ -2221,7 +2275,7 @@
2221
2275
  "package": "Amazon.CDK.AWS.MediaPackageV2"
2222
2276
  },
2223
2277
  "java": {
2224
- "package": "services.mediapackagev2"
2278
+ "package": "software.amazon.awscdk.services.mediapackagev2"
2225
2279
  },
2226
2280
  "python": {
2227
2281
  "module": "aws_cdk.aws_mediapackagev2"
@@ -2306,6 +2360,19 @@
2306
2360
  }
2307
2361
  }
2308
2362
  },
2363
+ "aws-cdk-lib.aws_neptunegraph": {
2364
+ "targets": {
2365
+ "dotnet": {
2366
+ "package": "Amazon.CDK.AWS.NeptuneGraph"
2367
+ },
2368
+ "java": {
2369
+ "package": "software.amazon.awscdk.services.neptunegraph"
2370
+ },
2371
+ "python": {
2372
+ "module": "aws_cdk.aws_neptunegraph"
2373
+ }
2374
+ }
2375
+ },
2309
2376
  "aws-cdk-lib.aws_networkfirewall": {
2310
2377
  "targets": {
2311
2378
  "dotnet": {
@@ -2442,7 +2509,7 @@
2442
2509
  "package": "Amazon.CDK.AWS.OSIS"
2443
2510
  },
2444
2511
  "java": {
2445
- "package": "services.osis"
2512
+ "package": "software.amazon.awscdk.services.osis"
2446
2513
  },
2447
2514
  "python": {
2448
2515
  "module": "aws_cdk.aws_osis"
@@ -2468,7 +2535,7 @@
2468
2535
  "package": "Amazon.CDK.AWS.PCAConnectorAD"
2469
2536
  },
2470
2537
  "java": {
2471
- "package": "services.pcaconnectorad"
2538
+ "package": "software.amazon.awscdk.services.pcaconnectorad"
2472
2539
  },
2473
2540
  "python": {
2474
2541
  "module": "aws_cdk.aws_pcaconnectorad"
@@ -2533,7 +2600,7 @@
2533
2600
  "package": "Amazon.CDK.AWS.Proton"
2534
2601
  },
2535
2602
  "java": {
2536
- "package": "services.proton"
2603
+ "package": "software.amazon.awscdk.services.proton"
2537
2604
  },
2538
2605
  "python": {
2539
2606
  "module": "aws_cdk.aws_proton"
@@ -2852,6 +2919,19 @@
2852
2919
  }
2853
2920
  }
2854
2921
  },
2922
+ "aws-cdk-lib.aws_s3express": {
2923
+ "targets": {
2924
+ "dotnet": {
2925
+ "package": "Amazon.CDK.AWS.S3Express"
2926
+ },
2927
+ "java": {
2928
+ "package": "software.amazon.awscdk.services.s3express"
2929
+ },
2930
+ "python": {
2931
+ "module": "aws_cdk.aws_s3express"
2932
+ }
2933
+ }
2934
+ },
2855
2935
  "aws-cdk-lib.aws_s3objectlambda": {
2856
2936
  "targets": {
2857
2937
  "dotnet": {
@@ -3027,7 +3107,7 @@
3027
3107
  "package": "Amazon.CDK.AWS.Shield"
3028
3108
  },
3029
3109
  "java": {
3030
- "package": "services.shield"
3110
+ "package": "software.amazon.awscdk.services.shield"
3031
3111
  },
3032
3112
  "python": {
3033
3113
  "module": "aws_cdk.aws_shield"
@@ -3248,7 +3328,7 @@
3248
3328
  "package": "Amazon.CDK.AWS.VerifiedPermissions"
3249
3329
  },
3250
3330
  "java": {
3251
- "package": "services.verifiedpermissions"
3331
+ "package": "software.amazon.awscdk.services.verifiedpermissions"
3252
3332
  },
3253
3333
  "python": {
3254
3334
  "module": "aws_cdk.aws_verifiedpermissions"
@@ -3346,13 +3426,26 @@
3346
3426
  }
3347
3427
  }
3348
3428
  },
3429
+ "aws-cdk-lib.aws_workspacesthinclient": {
3430
+ "targets": {
3431
+ "dotnet": {
3432
+ "package": "Amazon.CDK.AWS.WorkSpacesThinClient"
3433
+ },
3434
+ "java": {
3435
+ "package": "software.amazon.awscdk.services.workspacesthinclient"
3436
+ },
3437
+ "python": {
3438
+ "module": "aws_cdk.aws_workspacesthinclient"
3439
+ }
3440
+ }
3441
+ },
3349
3442
  "aws-cdk-lib.aws_workspacesweb": {
3350
3443
  "targets": {
3351
3444
  "dotnet": {
3352
3445
  "package": "Amazon.CDK.AWS.WorkSpacesWeb"
3353
3446
  },
3354
3447
  "java": {
3355
- "package": "services.workspacesweb"
3448
+ "package": "software.amazon.awscdk.services.workspacesweb"
3356
3449
  },
3357
3450
  "python": {
3358
3451
  "module": "aws_cdk.aws_workspacesweb"
@@ -3559,7 +3652,7 @@
3559
3652
  "docs": {
3560
3653
  "stability": "stable"
3561
3654
  },
3562
- "homepage": "https://collaboration.msi.audi.com/stash/scm/riodev/cdk-v2-constructs.git",
3655
+ "homepage": "https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/",
3563
3656
  "jsiiVersion": "5.2.32 (build fc5cc5c)",
3564
3657
  "keywords": [
3565
3658
  "cdk"
@@ -3579,14 +3672,14 @@
3579
3672
  },
3580
3673
  "repository": {
3581
3674
  "type": "git",
3582
- "url": "https://collaboration.msi.audi.com/stash/scm/riodev/cdk-v2-constructs.git"
3675
+ "url": "https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/"
3583
3676
  },
3584
3677
  "schema": "jsii/0.10.0",
3585
3678
  "submodules": {
3586
3679
  "@rio-cloud/cdk-v2-constructs.backup": {
3587
3680
  "locationInModule": {
3588
3681
  "filename": "src/index.ts",
3589
- "line": 30
3682
+ "line": 32
3590
3683
  },
3591
3684
  "symbolId": "src/backup/index:"
3592
3685
  },
@@ -4221,6 +4314,52 @@
4221
4314
  "name": "AwsBackupOverallMonitoring",
4222
4315
  "symbolId": "src/contributions/team-claid/aws-backup-monitoring/aws-backup-monitoring:AwsBackupOverallMonitoring"
4223
4316
  },
4317
+ "@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor": {
4318
+ "assembly": "@rio-cloud/cdk-v2-constructs",
4319
+ "base": "constructs.Construct",
4320
+ "docs": {
4321
+ "remarks": "The construct creates monitoring for detecting ECS containers that were stopped abruptly for reasons such as,\nout of memory, failed health checks.\n\nThe monitor will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog for\nbetter analyses and trigger an alert.\n\nMore details on the AWS ECS events can be found here:\n{@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}\n\nThis monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate\nto bigger issues, like a service being that requires more resources.",
4322
+ "stability": "stable",
4323
+ "summary": "# WARNING: This construct is still on beta phase."
4324
+ },
4325
+ "fqn": "@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor",
4326
+ "initializer": {
4327
+ "docs": {
4328
+ "stability": "stable"
4329
+ },
4330
+ "locationInModule": {
4331
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
4332
+ "line": 31
4333
+ },
4334
+ "parameters": [
4335
+ {
4336
+ "name": "scope",
4337
+ "type": {
4338
+ "fqn": "constructs.Construct"
4339
+ }
4340
+ },
4341
+ {
4342
+ "name": "id",
4343
+ "type": {
4344
+ "primitive": "string"
4345
+ }
4346
+ },
4347
+ {
4348
+ "name": "props",
4349
+ "type": {
4350
+ "fqn": "@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps"
4351
+ }
4352
+ }
4353
+ ]
4354
+ },
4355
+ "kind": "class",
4356
+ "locationInModule": {
4357
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
4358
+ "line": 30
4359
+ },
4360
+ "name": "AwsEcsAbruptlyStoppedMonitor",
4361
+ "symbolId": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor:AwsEcsAbruptlyStoppedMonitor"
4362
+ },
4224
4363
  "@rio-cloud/cdk-v2-constructs.BackupPolicy": {
4225
4364
  "assembly": "@rio-cloud/cdk-v2-constructs",
4226
4365
  "docs": {
@@ -5658,6 +5797,71 @@
5658
5797
  ],
5659
5798
  "symbolId": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring:DatadogUsageMonitoringProps"
5660
5799
  },
5800
+ "@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps": {
5801
+ "assembly": "@rio-cloud/cdk-v2-constructs",
5802
+ "datatype": true,
5803
+ "docs": {
5804
+ "stability": "stable"
5805
+ },
5806
+ "fqn": "@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps",
5807
+ "kind": "interface",
5808
+ "locationInModule": {
5809
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
5810
+ "line": 5
5811
+ },
5812
+ "name": "EcsAbruptlyStoppedMonitorProps",
5813
+ "properties": [
5814
+ {
5815
+ "abstract": true,
5816
+ "docs": {
5817
+ "stability": "stable"
5818
+ },
5819
+ "immutable": true,
5820
+ "locationInModule": {
5821
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
5822
+ "line": 7
5823
+ },
5824
+ "name": "notification",
5825
+ "type": {
5826
+ "fqn": "@rio-cloud/cdk-v2-constructs.datadogv2.INotification"
5827
+ }
5828
+ },
5829
+ {
5830
+ "abstract": true,
5831
+ "docs": {
5832
+ "stability": "stable"
5833
+ },
5834
+ "immutable": true,
5835
+ "locationInModule": {
5836
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
5837
+ "line": 6
5838
+ },
5839
+ "name": "serviceName",
5840
+ "type": {
5841
+ "primitive": "string"
5842
+ }
5843
+ },
5844
+ {
5845
+ "abstract": true,
5846
+ "docs": {
5847
+ "remarks": "If no cluster is provided, all ECS will be part of the monitor.",
5848
+ "stability": "stable",
5849
+ "summary": "ARN of the cluster that should be monitored."
5850
+ },
5851
+ "immutable": true,
5852
+ "locationInModule": {
5853
+ "filename": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor.ts",
5854
+ "line": 12
5855
+ },
5856
+ "name": "clusterArn",
5857
+ "optional": true,
5858
+ "type": {
5859
+ "primitive": "string"
5860
+ }
5861
+ }
5862
+ ],
5863
+ "symbolId": "src/contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor/aws-ecs-abruptly-stopped-monitor:EcsAbruptlyStoppedMonitorProps"
5864
+ },
5661
5865
  "@rio-cloud/cdk-v2-constructs.FargateTaskDefinitionProps": {
5662
5866
  "assembly": "@rio-cloud/cdk-v2-constructs",
5663
5867
  "datatype": true,
@@ -10309,7 +10513,7 @@
10309
10513
  },
10310
10514
  "locationInModule": {
10311
10515
  "filename": "src/watchful/ecs.ts",
10312
- "line": 58
10516
+ "line": 59
10313
10517
  },
10314
10518
  "parameters": [
10315
10519
  {
@@ -10335,7 +10539,7 @@
10335
10539
  "kind": "class",
10336
10540
  "locationInModule": {
10337
10541
  "filename": "src/watchful/ecs.ts",
10338
- "line": 54
10542
+ "line": 55
10339
10543
  },
10340
10544
  "name": "WatchEcsService",
10341
10545
  "symbolId": "src/watchful/ecs:WatchEcsService"
@@ -10351,7 +10555,7 @@
10351
10555
  "kind": "interface",
10352
10556
  "locationInModule": {
10353
10557
  "filename": "src/watchful/ecs.ts",
10354
- "line": 14
10558
+ "line": 15
10355
10559
  },
10356
10560
  "name": "WatchEcsServiceOptions",
10357
10561
  "properties": [
@@ -10365,7 +10569,7 @@
10365
10569
  "immutable": true,
10366
10570
  "locationInModule": {
10367
10571
  "filename": "src/watchful/ecs.ts",
10368
- "line": 20
10572
+ "line": 21
10369
10573
  },
10370
10574
  "name": "cpuUtilizationThresholdPercent",
10371
10575
  "optional": true,
@@ -10383,7 +10587,7 @@
10383
10587
  "immutable": true,
10384
10588
  "locationInModule": {
10385
10589
  "filename": "src/watchful/ecs.ts",
10386
- "line": 27
10590
+ "line": 28
10387
10591
  },
10388
10592
  "name": "memoryUtilizationThresholdPercent",
10389
10593
  "optional": true,
@@ -10408,7 +10612,7 @@
10408
10612
  "kind": "interface",
10409
10613
  "locationInModule": {
10410
10614
  "filename": "src/watchful/ecs.ts",
10411
- "line": 33
10615
+ "line": 34
10412
10616
  },
10413
10617
  "name": "WatchEcsServiceProps",
10414
10618
  "properties": [
@@ -10422,7 +10626,7 @@
10422
10626
  "immutable": true,
10423
10627
  "locationInModule": {
10424
10628
  "filename": "src/watchful/ecs.ts",
10425
- "line": 43
10629
+ "line": 44
10426
10630
  },
10427
10631
  "name": "service",
10428
10632
  "type": {
@@ -10439,7 +10643,7 @@
10439
10643
  "immutable": true,
10440
10644
  "locationInModule": {
10441
10645
  "filename": "src/watchful/ecs.ts",
10442
- "line": 37
10646
+ "line": 38
10443
10647
  },
10444
10648
  "name": "watchful",
10445
10649
  "type": {
@@ -15387,5 +15591,5 @@
15387
15591
  }
15388
15592
  },
15389
15593
  "version": "0.0.0",
15390
- "fingerprint": "P+WuUsK89+NwOvZzKyRcuXW2Z2I70YxLA+vQ+Z/S/NQ="
15594
+ "fingerprint": "DxDkGwEwMTGJoD8MtFJ4IzjRFrX3dwdLSrNGPWLz/Zw="
15391
15595
  }
package/API.md CHANGED
@@ -605,6 +605,133 @@ The tree node.
605
605
  ---
606
606
 
607
607
 
608
+ ### AwsEcsAbruptlyStoppedMonitor <a name="AwsEcsAbruptlyStoppedMonitor" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor"></a>
609
+
610
+ # WARNING: This construct is still on beta phase.
611
+
612
+ The construct creates monitoring for detecting ECS containers that were stopped abruptly for reasons such as,
613
+ out of memory, failed health checks.
614
+
615
+ The monitor will consume the ECS events and send them to a CloudWatch log group, which are forwarded to Datadog for
616
+ better analyses and trigger an alert.
617
+
618
+ More details on the AWS ECS events can be found here:
619
+ {@link https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html}
620
+
621
+ This monitor adds transparency to such cases, which otherwise would happen without being noticed and could escalate
622
+ to bigger issues, like a service being that requires more resources.
623
+
624
+ #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer"></a>
625
+
626
+ ```typescript
627
+ import { AwsEcsAbruptlyStoppedMonitor } from '@rio-cloud/cdk-v2-constructs'
628
+
629
+ new AwsEcsAbruptlyStoppedMonitor(scope: Construct, id: string, props: EcsAbruptlyStoppedMonitorProps)
630
+ ```
631
+
632
+ | **Name** | **Type** | **Description** |
633
+ | --- | --- | --- |
634
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
635
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
636
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.props">props</a></code> | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps">EcsAbruptlyStoppedMonitorProps</a></code> | *No description.* |
637
+
638
+ ---
639
+
640
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.scope"></a>
641
+
642
+ - *Type:* constructs.Construct
643
+
644
+ ---
645
+
646
+ ##### `id`<sup>Required</sup> <a name="id" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.id"></a>
647
+
648
+ - *Type:* string
649
+
650
+ ---
651
+
652
+ ##### `props`<sup>Required</sup> <a name="props" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.Initializer.parameter.props"></a>
653
+
654
+ - *Type:* <a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps">EcsAbruptlyStoppedMonitorProps</a>
655
+
656
+ ---
657
+
658
+ #### Methods <a name="Methods" id="Methods"></a>
659
+
660
+ | **Name** | **Description** |
661
+ | --- | --- |
662
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.toString">toString</a></code> | Returns a string representation of this construct. |
663
+
664
+ ---
665
+
666
+ ##### `toString` <a name="toString" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.toString"></a>
667
+
668
+ ```typescript
669
+ public toString(): string
670
+ ```
671
+
672
+ Returns a string representation of this construct.
673
+
674
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
675
+
676
+ | **Name** | **Description** |
677
+ | --- | --- |
678
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
679
+
680
+ ---
681
+
682
+ ##### `isConstruct` <a name="isConstruct" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.isConstruct"></a>
683
+
684
+ ```typescript
685
+ import { AwsEcsAbruptlyStoppedMonitor } from '@rio-cloud/cdk-v2-constructs'
686
+
687
+ AwsEcsAbruptlyStoppedMonitor.isConstruct(x: any)
688
+ ```
689
+
690
+ Checks if `x` is a construct.
691
+
692
+ Use this method instead of `instanceof` to properly detect `Construct`
693
+ instances, even when the construct library is symlinked.
694
+
695
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
696
+ disk are seen as independent, completely different libraries. As a
697
+ consequence, the class `Construct` in each copy of the `constructs` library
698
+ is seen as a different class, and an instance of one class will not test as
699
+ `instanceof` the other class. `npm install` will not create installations
700
+ like this, but users may manually symlink construct libraries together or
701
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
702
+ library can be accidentally installed, and `instanceof` will behave
703
+ unpredictably. It is safest to avoid using `instanceof`, and using
704
+ this type-testing method instead.
705
+
706
+ ###### `x`<sup>Required</sup> <a name="x" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.isConstruct.parameter.x"></a>
707
+
708
+ - *Type:* any
709
+
710
+ Any object.
711
+
712
+ ---
713
+
714
+ #### Properties <a name="Properties" id="Properties"></a>
715
+
716
+ | **Name** | **Type** | **Description** |
717
+ | --- | --- | --- |
718
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
719
+
720
+ ---
721
+
722
+ ##### `node`<sup>Required</sup> <a name="node" id="@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor.property.node"></a>
723
+
724
+ ```typescript
725
+ public readonly node: Node;
726
+ ```
727
+
728
+ - *Type:* constructs.Node
729
+
730
+ The tree node.
731
+
732
+ ---
733
+
734
+
608
735
  ### Claidometer <a name="Claidometer" id="@rio-cloud/cdk-v2-constructs.Claidometer"></a>
609
736
 
610
737
  Creates a custom resource to track usage of CLAID prodcuts.
@@ -8391,6 +8518,60 @@ public readonly notification: INotification;
8391
8518
 
8392
8519
  ---
8393
8520
 
8521
+ ### EcsAbruptlyStoppedMonitorProps <a name="EcsAbruptlyStoppedMonitorProps" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps"></a>
8522
+
8523
+ #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.Initializer"></a>
8524
+
8525
+ ```typescript
8526
+ import { EcsAbruptlyStoppedMonitorProps } from '@rio-cloud/cdk-v2-constructs'
8527
+
8528
+ const ecsAbruptlyStoppedMonitorProps: EcsAbruptlyStoppedMonitorProps = { ... }
8529
+ ```
8530
+
8531
+ #### Properties <a name="Properties" id="Properties"></a>
8532
+
8533
+ | **Name** | **Type** | **Description** |
8534
+ | --- | --- | --- |
8535
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification">notification</a></code> | <code>@rio-cloud/cdk-v2-constructs.datadogv2.INotification</code> | *No description.* |
8536
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName">serviceName</a></code> | <code>string</code> | *No description.* |
8537
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn">clusterArn</a></code> | <code>string</code> | ARN of the cluster that should be monitored. |
8538
+
8539
+ ---
8540
+
8541
+ ##### `notification`<sup>Required</sup> <a name="notification" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.notification"></a>
8542
+
8543
+ ```typescript
8544
+ public readonly notification: INotification;
8545
+ ```
8546
+
8547
+ - *Type:* @rio-cloud/cdk-v2-constructs.datadogv2.INotification
8548
+
8549
+ ---
8550
+
8551
+ ##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.serviceName"></a>
8552
+
8553
+ ```typescript
8554
+ public readonly serviceName: string;
8555
+ ```
8556
+
8557
+ - *Type:* string
8558
+
8559
+ ---
8560
+
8561
+ ##### `clusterArn`<sup>Optional</sup> <a name="clusterArn" id="@rio-cloud/cdk-v2-constructs.EcsAbruptlyStoppedMonitorProps.property.clusterArn"></a>
8562
+
8563
+ ```typescript
8564
+ public readonly clusterArn: string;
8565
+ ```
8566
+
8567
+ - *Type:* string
8568
+
8569
+ ARN of the cluster that should be monitored.
8570
+
8571
+ If no cluster is provided, all ECS will be part of the monitor.
8572
+
8573
+ ---
8574
+
8394
8575
  ### FargateTaskDefinitionProps <a name="FargateTaskDefinitionProps" id="@rio-cloud/cdk-v2-constructs.FargateTaskDefinitionProps"></a>
8395
8576
 
8396
8577
  #### Initializer <a name="Initializer" id="@rio-cloud/cdk-v2-constructs.FargateTaskDefinitionProps.Initializer"></a>
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [4.31.1](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.31.0&sourceBranch=refs%2Ftags%2Fv4.31.1) (2024-03-22)
6
+
7
+ ## [4.31.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.30.0&sourceBranch=refs%2Ftags%2Fv4.31.0) (2024-03-14)
8
+
9
+
10
+ ### Features
11
+
12
+ * **pipeline:** Use Lambda Compute in some simple CodeBuild steps ([29b04f8](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/29b04f8c212847a74213a668ca6f9c54759f9325))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * :bug: modify ecs.memory_utilization metric name ([f4e33b4](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/f4e33b4beaa41522d1d8461ca5afb4056403c4a2))
18
+
19
+ ## [4.31.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.30.0&sourceBranch=refs%2Ftags%2Fv4.31.0) (2024-03-14)
20
+
21
+
22
+ ### Features
23
+
24
+ * **pipeline:** Use Lambda Compute in some simple CodeBuild steps ([29b04f8](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/29b04f8c212847a74213a668ca6f9c54759f9325))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * :bug: modify ecs.memory_utilization metric name ([f4e33b4](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/f4e33b4beaa41522d1d8461ca5afb4056403c4a2))
30
+
5
31
  ## [4.30.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.29.1&sourceBranch=refs%2Ftags%2Fv4.30.0) (2024-03-13)
6
32
 
7
33
 
@@ -48,10 +48,9 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
48
48
  const domainName = props.subDomain === undefined ? hostedZone.zoneName : subDomain + '.' + hostedZone.zoneName;
49
49
  const defaultContentSecurityPolicy = (0, exports.createRioDefaultCSP)();
50
50
  const contentSecurityPolicy = props.contentSecurityPolicy ?? defaultContentSecurityPolicy;
51
- const certificate = new acm.DnsValidatedCertificate(this, 'CloudfrontDistributionCertificate', {
51
+ const certificate = new acm.Certificate(this, 'CloudfrontDistributionCertificate', {
52
52
  domainName: domainName,
53
- hostedZone: hostedZone,
54
- region: 'us-east-1',
53
+ validation: acm.CertificateValidation.fromDns(hostedZone),
55
54
  });
56
55
  const originAccessIdentity = new cloudfront.OriginAccessIdentity(this, 'OriginAccessIdentity', {
57
56
  comment: `AccessIdentity for ${domainName}`,
@@ -159,4 +158,4 @@ class RioCloudfrontDistribution extends constructs_1.Construct {
159
158
  exports.RioCloudfrontDistribution = RioCloudfrontDistribution;
160
159
  _a = JSII_RTTI_SYMBOL_1;
161
160
  RioCloudfrontDistribution[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.RioCloudfrontDistribution", version: "0.0.0" };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFzRDtBQUN0RCwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUFpQzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBaEJHLFFBQUEsbUJBQW1CLHVCQWdCdEI7QUFFVjs7OztHQUlHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxpQ0FBYyxD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T0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0Q7b0JBQ0UsVUFBVSxFQUFFLEdBQUc7b0JBQ2Ysa0JBQWtCLEVBQUUsR0FBRztvQkFDdkIsZ0JBQWdCLEVBQUUsYUFBYTtvQkFDL0IsR0FBRyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDekI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3ZDLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25FLElBQUksNkJBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxvQ0FBa0IsQ0FBQyxnQkFBZ0I7WUFDNUMsV0FBVztZQUNYLE9BQU87WUFDUCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9ISCw4REFnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vLi4vLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBTMyBidWNrZXQgY29udGFpbmluZyB0aGUgZmlsZXMgdG8gc2VydmVcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudEJ1Y2tldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgc3ViZG9tYWluIHdoZXJlIHRoZSBjb250ZW50IHNob3VsZCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgYW4gZW1wdHkgc3RyaW5nLCBpLmUuIG5vIHN1YkRvbWFpbiB3aWxsIGJlIHVzZWQuXG4gICAgICogSW5zdGVhZCwgdGhlIG5hbWUgb2YgdGhlIGhvc3RlZCB6b25lIHdpbGwgYmUgdXNlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgc3ViRG9tYWluPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBob3N0ZWQgem9uZSBvZiB0aGUgZG9tYWluIHVuZGVyIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgc2VydmVkLiBJZiBub3QgZ2l2ZW4sIHRoZSBkZWZhdWx0IGhvc3RlZCBab25lXG4gICAgICogcHJvdmlkZWQgYnkgUklPIHNldHVwIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgaG9zdGVkWm9uZT86IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHRvIGJlIHNlbnQgYXMgYSBoZWFkZXIgd2hlbiBkZWxpdmVyaW5nIHRoZSBidWNrZXQgY29udGVudC5cbiAgICAgKiBJZiBub3Qgc2V0LCBhIHJpbyBEZWZhdWx0IHdpbGwgYmUgdXNlZC4gVGhlIGRlZmF1bHQgc2hvdWxkIGNvdmVyIGNvbm5lY3Rpb25zIHRvIHNwbGl0LmlvLCBzZW50cnkgYW5kIGRhdGFkb2csXG4gICAgICogYXMgd2VsbCBhcyBhIGhhc2ggdG8gc3VwcG9ydCBnb29nbGUgdGFnTWFuZ2VyLiBUaGUgbGF0dGVyIG1pZ2h0IG5lZWQgdG8gYmUgYWRhcHRlZCBpZiB5b3UgY2hhbmdlIHRoZSBtaW5pZmljYXRpb24gb2ZcbiAgICAgKiB0aGUgaW5kZXguaHRtbCwgaW4gd2hpY2ggY2FzZSB5b3UgY2FuIHByb3ZpZGUgeW91ciBjc3AgaGVyZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBhbHdheXNBbGxvd2VkQ1NQU291cmNlcyA9IFwiJ3NlbGYnIGh0dHBzOi8vKi5yaW8uY2xvdWQgaHR0cHM6Ly9yaW8uY2xvdWRcIjtcbi8vIFRoZSBoYXNoIGluIHNjcmlwdCBzcmMgaXMgZm9yIHRoZSBnb29nbGUgdGFnTWFuYWdlciBzY3JpcHQgaW5jbHVkZWQgaW4gdGhlIGluZGV4Lmh0bWxcbmV4cG9ydCBjb25zdCBjcmVhdGVSaW9EZWZhdWx0Q1NQID0gKGFkZGl0aW9uYWxTY3JpcHRTb3VyY2VzPzogc3RyaW5nKSA9PiBgXG4gICAgICAgZGVmYXVsdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgY29ubmVjdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gaHR0cHM6Ly8qLnNlbnRyeS5pbyBodHRwczovL3Nkay5zcGxpdC5pbyBodHRwczovLyouZGF0YWRvZ2hxLmV1IGh0dHBzOi8vKi5icm93c2VyLWludGFrZS1kYXRhZG9naHEuZXUgaHR0cHM6Ly9jZG4tZXUuY29uZmlnY2F0LmNvbSBodHRwczovL2Jyb3dzZXItaW50YWtlLWRhdGFkb2docS5ldTtcbiAgICAgICBmb250LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBkYXRhOjtcbiAgICAgICBpbWctc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IHd3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbSBkYXRhOjtcbiAgICAgICBvYmplY3Qtc3JjICdub25lJztcbiAgICAgICBzY3JpcHQtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tXG4gICAgICAgICdzaGEyNTYtSERXQWdmVGVNQWd1VDh3Rnc3KzkyWTdpNEVvLzZSVVFRdUEzVFc5SnhiQT0nXG4gICAgICAgICR7YWRkaXRpb25hbFNjcmlwdFNvdXJjZXMgPyAnICcgKyBhZGRpdGlvbmFsU2NyaXB0U291cmNlcyA6ICcnfTtcbiAgICAgICBzdHlsZS1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gJ3Vuc2FmZS1pbmxpbmUnO1xuICAgICAgIGJhc2UtdXJpICdzZWxmJztcbiAgICAgICBmb3JtLWFjdGlvbiAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBmcmFtZS1hbmNlc3RvcnMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc307XG4gICAgICAgZnJhbWUtc3JjICdzZWxmJyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBgXG4gIC5yZXBsYWNlKC9bXFxyXFxuXFxzXSsvZywgJyAnKVxuICAudHJpbSgpO1xuXG4vKipcbiAqIEEgQ29uc3RydWN0IHdoaWNoIGNyZWF0ZXMgYSBkZWZhdWx0IGNsb3VkZnJvbnQgZGlzdHJpYnV0aW9uIHVzaW5nIGEgczMgYnVja2V0IGFzIG9yaWdpbi5cbiAqIEludGVuZGVkIGZvciBkZWxpdmVyeSBvZiBodG1sIGRvY3VtZW50cy4gSXQgc2V0cyBzb21lIGRlZmF1bHRzIGEgcmVjb21tZW5kZWQgYnkgQVdTIGFuZCBwcm92aWRlcyBiYXNpYyBzZWN1cml0eSBoZWFkZXIuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogY2xvdWRmcm9udC5JRGlzdHJpYnV0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGhvc3RlZFpvbmUgPSBwcm9wcy5ob3N0ZWRab25lID8/IFJpb0xhbmRpbmdab25lLmdldERlZmF1bHRIb3N0ZWRab25lKHRoaXMpO1xuICAgIGNvbnN0IHN1YkRvbWFpbiA9IHByb3BzLnN1YkRvbWFpbiA/PyAnJztcbiAgICBjb25zdCBkb21haW5OYW1lID0gcHJvcHMuc3ViRG9tYWluID09PSB1bmRlZmluZWQgPyBob3N0ZWRab25lLnpvbmVOYW1lIDogc3ViRG9tYWluICsgJy4nICsgaG9zdGVkWm9uZS56b25lTmFtZTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBjcmVhdGVSaW9EZWZhdWx0Q1NQKCk7XG4gICAgY29uc3QgY29udGVudFNlY3VyaXR5UG9saWN5ID0gcHJvcHMuY29udGVudFNlY3VyaXR5UG9saWN5ID8/IGRlZmF1bHRDb250ZW50U2VjdXJpdHlQb2xpY3k7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBhY20uRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUodGhpcywgJ0Nsb3VkZnJvbnREaXN0cmlidXRpb25DZXJ0aWZpY2F0ZScsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IG9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ09yaWdpbkFjY2Vzc0lkZW50aXR5Jywge1xuICAgICAgY29tbWVudDogYEFjY2Vzc0lkZW50aXR5IGZvciAke2RvbWFpbk5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0Zyb250RW5kQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuY29udGVudEJ1Y2tldE5hbWUsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0V4cGlyZXNPYmplY3RzJyxcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDkwKSxcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkTWV0aG9kczogW3MzLkh0dHBNZXRob2RzLkdFVF0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGFsbG93ZWRIZWFkZXJzOiBbJyonXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIG5ldyBpYW0uQ2Fub25pY2FsVXNlclByaW5jaXBhbChvcmlnaW5BY2Nlc3NJZGVudGl0eS5jbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlTM0Nhbm9uaWNhbFVzZXJJZCksXG4gICAgICAnKicsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5Jywge1xuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ2xvdWRGcm9udCByZXNwb25zZXMnLFxuICAgICAgY29yc0JlaGF2aW9yOiB7XG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogWycqJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHM6IFsnR0VUJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd09yaWdpbnM6IFtob3N0ZWRab25lLnpvbmVOYW1lXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uc2Vjb25kcyg2MDApLFxuICAgICAgICBvcmlnaW5PdmVycmlkZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFR5cGVPcHRpb25zOiB7IG92ZXJyaWRlOiB0cnVlIH0sXG4gICAgICAgIGZyYW1lT3B0aW9uczogeyBmcmFtZU9wdGlvbjogY2xvdWRmcm9udC5IZWFkZXJzRnJhbWVPcHRpb24uREVOWSwgb3ZlcnJpZGU6IHRydWUgfSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IHtcbiAgICAgICAgICByZWZlcnJlclBvbGljeTogY2xvdWRmcm9udC5IZWFkZXJzUmVmZXJyZXJQb2xpY3kuU1RSSUNUX09SSUdJTl9XSEVOX0NST1NTX09SSUdJTixcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IHRydWUsXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHhzc1Byb3RlY3Rpb246IHtcbiAgICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIG1vZGVCbG9jazogdHJ1ZSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVja2V0KSxcbiAgICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LkNPUlNfUzNfT1JJR0lOLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgY2FjaGVQb2xpY3k6IGNsb3VkZnJvbnQuQ2FjaGVQb2xpY3kuQ0FDSElOR19PUFRJTUlaRUQsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTogcmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBkb21haW5OYW1lczogW2RvbWFpbk5hbWVdLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBjZXJ0aWZpY2F0ZSxcbiAgICAgIGRlZmF1bHRSb290T2JqZWN0OiAnaW5kZXguaHRtbCcsXG4gICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBjbG91ZGZyb250LlNlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAxOCxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IHJvdXRlNTMuUmVjb3JkU2V0KHRoaXMsICdSZWNvcmRTZXQnLCB7XG4gICAgICByZWNvcmROYW1lOiBzdWJEb21haW4sXG4gICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgcmVjb3JkVHlwZTogcm91dGU1My5SZWNvcmRUeXBlLkEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gICAgbmV3IENsYWlkb21ldGVyKHRoaXMsICdDbGFpZG9tZXRlcicsIHtcbiAgICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmZWF0dXJlLFxuICAgICAgdmVyc2lvbjogJzAuMC4yJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvY29wLWZyb250ZW5kL2Nsb3VkZnJvbnQvcmlvLWNsb3VkZnJvbnQtZGlzdHJpYnV0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDZDQUFzRDtBQUN0RCwwREFBMEQ7QUFDMUQseURBQXlEO0FBQ3pELDhEQUE4RDtBQUM5RCwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELDJEQUEyRDtBQUMzRCx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBQ3ZDLDhEQUEyRTtBQUMzRSxnRUFBMkQ7QUFpQzNELE1BQU0sdUJBQXVCLEdBQUcsOENBQThDLENBQUM7QUFDL0Usd0ZBQXdGO0FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyx1QkFBZ0MsRUFBRSxFQUFFLENBQUM7cUJBQ3BELHVCQUF1QjtxQkFDdkIsdUJBQXVCO2tCQUMxQix1QkFBdUI7aUJBQ3hCLHVCQUF1Qjs7b0JBRXBCLHVCQUF1Qjs7VUFFakMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRTttQkFDbkQsdUJBQXVCOztxQkFFckIsdUJBQXVCO3lCQUNuQix1QkFBdUI7MEJBQ3RCLHVCQUF1QjtRQUN6QztLQUNMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDO0tBQzFCLElBQUksRUFBRSxDQUFDO0FBaEJHLFFBQUEsbUJBQW1CLHVCQWdCdEI7QUFFVjs7OztHQUlHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQUV0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxpQ0FBYyxD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QUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRDtvQkFDRSxVQUFVLEVBQUUsR0FBRztvQkFDZixrQkFBa0IsRUFBRSxHQUFHO29CQUN2QixnQkFBZ0IsRUFBRSxhQUFhO29CQUMvQixHQUFHLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDdkMsVUFBVSxFQUFFLFNBQVM7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2RixJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkUsSUFBSSw2QkFBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDbkMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtZQUM1QyxXQUFXO1lBQ1gsT0FBTztZQUNQLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOUhILDhEQStIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENsYWlkb21ldGVyLCBDbGFpZG9tZXRlclByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9yaW8tY2xhaWRvbWV0ZXInO1xuaW1wb3J0IHsgUmlvTGFuZGluZ1pvbmUgfSBmcm9tICcuLi8uLi8uLi9yaW8tbGFuZGluZy16b25lJztcblxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgUmlvQ2xvdWRmcm9udERpc3RyaWJ1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJpb0Nsb3VkZnJvbnREaXN0cmlidXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgICAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIFMzIGJ1Y2tldCBjb250YWluaW5nIHRoZSBmaWxlcyB0byBzZXJ2ZVxuICAgICAqL1xuICByZWFkb25seSBjb250ZW50QnVja2V0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBzdWJkb21haW4gd2hlcmUgdGhlIGNvbnRlbnQgc2hvdWxkIGJlIHNlcnZlZC4gSWYgbm90IGdpdmVuLCBhbiBlbXB0eSBzdHJpbmcsIGkuZS4gbm8gc3ViRG9tYWluIHdpbGwgYmUgdXNlZC5cbiAgICAgKiBJbnN0ZWFkLCB0aGUgbmFtZSBvZiB0aGUgaG9zdGVkIHpvbmUgd2lsbCBiZSB1c2VkIGRpcmVjdGx5LlxuICAgICAqL1xuICByZWFkb25seSBzdWJEb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVGhlIGhvc3RlZCB6b25lIG9mIHRoZSBkb21haW4gdW5kZXIgd2hpY2ggdGhlIGNvbnRlbnQgd2lsbCBiZSBzZXJ2ZWQuIElmIG5vdCBnaXZlbiwgdGhlIGRlZmF1bHQgaG9zdGVkIFpvbmVcbiAgICAgKiBwcm92aWRlZCBieSBSSU8gc2V0dXAgd2lsbCBiZSB1c2VkLlxuICAgICAqL1xuICByZWFkb25seSBob3N0ZWRab25lPzogcm91dGU1My5JSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICAgKiBUaGUgY29udGVudCBTZWN1cml0eSBQb2xpY3kgdG8gYmUgc2VudCBhcyBhIGhlYWRlciB3aGVuIGRlbGl2ZXJpbmcgdGhlIGJ1Y2tldCBjb250ZW50LlxuICAgICAqIElmIG5vdCBzZXQsIGEgcmlvIERlZmF1bHQgd2lsbCBiZSB1c2VkLiBUaGUgZGVmYXVsdCBzaG91bGQgY292ZXIgY29ubmVjdGlvbnMgdG8gc3BsaXQuaW8sIHNlbnRyeSBhbmQgZGF0YWRvZyxcbiAgICAgKiBhcyB3ZWxsIGFzIGEgaGFzaCB0byBzdXBwb3J0IGdvb2dsZSB0YWdNYW5nZXIuIFRoZSBsYXR0ZXIgbWlnaHQgbmVlZCB0byBiZSBhZGFwdGVkIGlmIHlvdSBjaGFuZ2UgdGhlIG1pbmlmaWNhdGlvbiBvZlxuICAgICAqIHRoZSBpbmRleC5odG1sLCBpbiB3aGljaCBjYXNlIHlvdSBjYW4gcHJvdmlkZSB5b3VyIGNzcCBoZXJlLlxuICAgICAqL1xuICByZWFkb25seSBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG59XG5cbmNvbnN0IGFsd2F5c0FsbG93ZWRDU1BTb3VyY2VzID0gXCInc2VsZicgaHR0cHM6Ly8qLnJpby5jbG91ZCBodHRwczovL3Jpby5jbG91ZFwiO1xuLy8gVGhlIGhhc2ggaW4gc2NyaXB0IHNyYyBpcyBmb3IgdGhlIGdvb2dsZSB0YWdNYW5hZ2VyIHNjcmlwdCBpbmNsdWRlZCBpbiB0aGUgaW5kZXguaHRtbFxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJpb0RlZmF1bHRDU1AgPSAoYWRkaXRpb25hbFNjcmlwdFNvdXJjZXM/OiBzdHJpbmcpID0+IGBcbiAgICAgICBkZWZhdWx0LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBjb25uZWN0LXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSBodHRwczovLyouc2VudHJ5LmlvIGh0dHBzOi8vc2RrLnNwbGl0LmlvIGh0dHBzOi8vKi5kYXRhZG9naHEuZXUgaHR0cHM6Ly8qLmJyb3dzZXItaW50YWtlLWRhdGFkb2docS5ldSBodHRwczovL2Nkbi1ldS5jb25maWdjYXQuY29tIGh0dHBzOi8vYnJvd3Nlci1pbnRha2UtZGF0YWRvZ2hxLmV1O1xuICAgICAgIGZvbnQtc3JjICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9IGRhdGE6O1xuICAgICAgIGltZy1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIGRhdGE6O1xuICAgICAgIG9iamVjdC1zcmMgJ25vbmUnO1xuICAgICAgIHNjcmlwdC1zcmMgJHthbHdheXNBbGxvd2VkQ1NQU291cmNlc30gaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb21cbiAgICAgICAgJ3NoYTI1Ni1IRFdBZ2ZUZU1BZ3VUOHdGdzcrOTJZN2k0RW8vNlJVUVF1QTNUVzlKeGJBPSdcbiAgICAgICAgJHthZGRpdGlvbmFsU2NyaXB0U291cmNlcyA/ICcgJyArIGFkZGl0aW9uYWxTY3JpcHRTb3VyY2VzIDogJyd9O1xuICAgICAgIHN0eWxlLXNyYyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfSAndW5zYWZlLWlubGluZSc7XG4gICAgICAgYmFzZS11cmkgJ3NlbGYnO1xuICAgICAgIGZvcm0tYWN0aW9uICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGZyYW1lLWFuY2VzdG9ycyAke2Fsd2F5c0FsbG93ZWRDU1BTb3VyY2VzfTtcbiAgICAgICBmcmFtZS1zcmMgJ3NlbGYnICR7YWx3YXlzQWxsb3dlZENTUFNvdXJjZXN9O1xuICAgICAgIGBcbiAgLnJlcGxhY2UoL1tcXHJcXG5cXHNdKy9nLCAnICcpXG4gIC50cmltKCk7XG5cbi8qKlxuICogQSBDb25zdHJ1Y3Qgd2hpY2ggY3JlYXRlcyBhIGRlZmF1bHQgY2xvdWRmcm9udCBkaXN0cmlidXRpb24gdXNpbmcgYSBzMyBidWNrZXQgYXMgb3JpZ2luLlxuICogSW50ZW5kZWQgZm9yIGRlbGl2ZXJ5IG9mIGh0bWwgZG9jdW1lbnRzLiBJdCBzZXRzIHNvbWUgZGVmYXVsdHMgYSByZWNvbW1lbmRlZCBieSBBV1MgYW5kIHByb3ZpZGVzIGJhc2ljIHNlY3VyaXR5IGhlYWRlci5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uOiBjbG91ZGZyb250LklEaXN0cmlidXRpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9DbG91ZGZyb250RGlzdHJpYnV0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IHByb3BzLmhvc3RlZFpvbmUgPz8gUmlvTGFuZGluZ1pvbmUuZ2V0RGVmYXVsdEhvc3RlZFpvbmUodGhpcyk7XG4gICAgY29uc3Qgc3ViRG9tYWluID0gcHJvcHMuc3ViRG9tYWluID8/ICcnO1xuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBwcm9wcy5zdWJEb21haW4gPT09IHVuZGVmaW5lZCA/IGhvc3RlZFpvbmUuem9uZU5hbWUgOiBzdWJEb21haW4gKyAnLicgKyBob3N0ZWRab25lLnpvbmVOYW1lO1xuXG4gICAgY29uc3QgZGVmYXVsdENvbnRlbnRTZWN1cml0eVBvbGljeSA9IGNyZWF0ZVJpb0RlZmF1bHRDU1AoKTtcbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBwcm9wcy5jb250ZW50U2VjdXJpdHlQb2xpY3kgPz8gZGVmYXVsdENvbnRlbnRTZWN1cml0eVBvbGljeTtcblxuICAgIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IGFjbS5DZXJ0aWZpY2F0ZSh0aGlzLCAnQ2xvdWRmcm9udERpc3RyaWJ1dGlvbkNlcnRpZmljYXRlJywge1xuICAgICAgZG9tYWluTmFtZTogZG9tYWluTmFtZSxcbiAgICAgIHZhbGlkYXRpb246IGFjbS5DZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhob3N0ZWRab25lKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IGNsb3VkZnJvbnQuT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ09yaWdpbkFjY2Vzc0lkZW50aXR5Jywge1xuICAgICAgY29tbWVudDogYEFjY2Vzc0lkZW50aXR5IGZvciAke2RvbWFpbk5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0Zyb250RW5kQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuY29udGVudEJ1Y2tldE5hbWUsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0V4cGlyZXNPYmplY3RzJyxcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDkwKSxcbiAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkTWV0aG9kczogW3MzLkh0dHBNZXRob2RzLkdFVF0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGFsbG93ZWRIZWFkZXJzOiBbJyonXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYnVja2V0LmdyYW50UmVhZChcbiAgICAgIG5ldyBpYW0uQ2Fub25pY2FsVXNlclByaW5jaXBhbChvcmlnaW5BY2Nlc3NJZGVudGl0eS5jbG91ZEZyb250T3JpZ2luQWNjZXNzSWRlbnRpdHlTM0Nhbm9uaWNhbFVzZXJJZCksXG4gICAgICAnKicsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVyc1BvbGljeSA9IG5ldyBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeSh0aGlzLCAnUmVzcG9uc2VIZWFkZXJzUG9saWN5Jywge1xuICAgICAgY29tbWVudDogJ1BvbGljeSBmb3IgQ2xvdWRGcm9udCByZXNwb25zZXMnLFxuICAgICAgY29yc0JlaGF2aW9yOiB7XG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICAgICAgYWNjZXNzQ29udHJvbEFsbG93SGVhZGVyczogWycqJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd01ldGhvZHM6IFsnR0VUJ10sXG4gICAgICAgIGFjY2Vzc0NvbnRyb2xBbGxvd09yaWdpbnM6IFtob3N0ZWRab25lLnpvbmVOYW1lXSxcbiAgICAgICAgYWNjZXNzQ29udHJvbE1heEFnZTogRHVyYXRpb24uc2Vjb25kcyg2MDApLFxuICAgICAgICBvcmlnaW5PdmVycmlkZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUhlYWRlcnNCZWhhdmlvcjoge1xuICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IGNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudFR5cGVPcHRpb25zOiB7IG92ZXJyaWRlOiB0cnVlIH0sXG4gICAgICAgIGZyYW1lT3B0aW9uczogeyBmcmFtZU9wdGlvbjogY2xvdWRmcm9udC5IZWFkZXJzRnJhbWVPcHRpb24uREVOWSwgb3ZlcnJpZGU6IHRydWUgfSxcbiAgICAgICAgcmVmZXJyZXJQb2xpY3k6IHtcbiAgICAgICAgICByZWZlcnJlclBvbGljeTogY2xvdWRmcm9udC5IZWFkZXJzUmVmZXJyZXJQb2xpY3kuU1RSSUNUX09SSUdJTl9XSEVOX0NST1NTX09SSUdJTixcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk6IHtcbiAgICAgICAgICBhY2Nlc3NDb250cm9sTWF4QWdlOiBEdXJhdGlvbi5kYXlzKDM2NSksXG4gICAgICAgICAgaW5jbHVkZVN1YmRvbWFpbnM6IHRydWUsXG4gICAgICAgICAgb3ZlcnJpZGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHhzc1Byb3RlY3Rpb246IHtcbiAgICAgICAgICBwcm90ZWN0aW9uOiB0cnVlLFxuICAgICAgICAgIG1vZGVCbG9jazogdHJ1ZSxcbiAgICAgICAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpc3RyaWJ1dGlvbiA9IG5ldyBjbG91ZGZyb250LkRpc3RyaWJ1dGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgZGVmYXVsdEJlaGF2aW9yOiB7XG4gICAgICAgIG9yaWdpbjogbmV3IG9yaWdpbnMuUzNPcmlnaW4oYnVja2V0KSxcbiAgICAgICAgb3JpZ2luUmVxdWVzdFBvbGljeTogY2xvdWRmcm9udC5PcmlnaW5SZXF1ZXN0UG9saWN5LkNPUlNfUzNfT1JJR0lOLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogY2xvdWRmcm9udC5WaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgY2FjaGVQb2xpY3k6IGNsb3VkZnJvbnQuQ2FjaGVQb2xpY3kuQ0FDSElOR19PUFRJTUlaRUQsXG4gICAgICAgIHJlc3BvbnNlSGVhZGVyc1BvbGljeTogcmVzcG9uc2VIZWFkZXJzUG9saWN5LFxuICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBkb21haW5OYW1lczogW2RvbWFpbk5hbWVdLFxuICAgICAgcHJpY2VDbGFzczogY2xvdWRmcm9udC5QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMCxcbiAgICAgIGNlcnRpZmljYXRlOiBjZXJ0aWZpY2F0ZSxcbiAgICAgIGRlZmF1bHRSb290T2JqZWN0OiAnaW5kZXguaHRtbCcsXG4gICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBjbG91ZGZyb250LlNlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAxOCxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDMsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiAyMDAsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy9pbmRleC5odG1sJyxcbiAgICAgICAgICB0dGw6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IHJvdXRlNTMuUmVjb3JkU2V0KHRoaXMsICdSZWNvcmRTZXQnLCB7XG4gICAgICByZWNvcmROYW1lOiBzdWJEb21haW4sXG4gICAgICB0YXJnZXQ6IHJvdXRlNTMuUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5DbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSksXG4gICAgICB6b25lOiBob3N0ZWRab25lLFxuICAgICAgcmVjb3JkVHlwZTogcm91dGU1My5SZWNvcmRUeXBlLkEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBbZmVhdHVyZSwgcGFja2FnZU5hbWVdID0gX19kaXJuYW1lLnNwbGl0KHBhdGguc2VwKS5yZXZlcnNlKCk7XG4gICAgbmV3IENsYWlkb21ldGVyKHRoaXMsICdDbGFpZG9tZXRlcicsIHtcbiAgICAgIHByb2R1Y3Q6IENsYWlkb21ldGVyUHJvZHVjdC5DREtfQ09OVFJJQlVUSU9OLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmZWF0dXJlLFxuICAgICAgdmVyc2lvbjogJzAuMC4yJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Construct } from 'constructs';
2
2
  import { INotification } from '../../../datadogv2';
3
3
  export interface EcsAbruptlyStoppedMonitorProps {
4
- serviceName: string;
5
- notification: INotification;
4
+ readonly serviceName: string;
5
+ readonly notification: INotification;
6
6
  /**
7
7
  * ARN of the cluster that should be monitored.
8
8
  * If no cluster is provided, all ECS will be part of the monitor.
9
9
  */
10
- clusterArn?: string;
10
+ readonly clusterArn?: string;
11
11
  }
12
12
  /**
13
13
  * # WARNING: This construct is still on beta phase.
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ var _a;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.AwsEcsAbruptlyStoppedMonitor = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
4
6
  const cdk = require("aws-cdk-lib");
5
7
  const constructs_1 = require("constructs");
6
8
  const datadogv2_1 = require("../../../datadogv2");
@@ -63,4 +65,6 @@ class AwsEcsAbruptlyStoppedMonitor extends constructs_1.Construct {
63
65
  }
64
66
  }
65
67
  exports.AwsEcsAbruptlyStoppedMonitor = AwsEcsAbruptlyStoppedMonitor;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLW91Ym91dC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUNuQywyQ0FBdUM7QUFDdkMsa0RBQWlHO0FBWWpHOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBYSw0QkFBNkIsU0FBUSxzQkFBUztJQUN6RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXFDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO1FBRXpGLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ2hFLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZO1lBQ2pELFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsNENBQTRDO1FBQzVDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ2xELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLFVBQVUsRUFBRSxDQUFDLHVCQUF1QixFQUFFLHFDQUFxQyxFQUFFLG9CQUFvQixDQUFDO2dCQUNsRyxNQUFNLEVBQUU7b0JBQ04sYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUMxQixVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3ZCLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7aUJBQzVEO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ2pGLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQ3ZFLElBQUksRUFDSixrQ0FBa0MsRUFDbEM7WUFDRSxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsbURBQW1ELENBQUM7WUFDcEYsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUNuRSxXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7WUFDaEYsYUFBYSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FDL0MseUJBQXlCLEVBQ3pCLHFDQUFxQyxDQUN0QztZQUNELFFBQVEsRUFBRSxzQkFBc0I7U0FDakMsQ0FBQyxDQUFDO1FBRUgsNEZBQTRGO1FBQzVGLElBQUksMEJBQWMsQ0FBQyxJQUFJLEVBQUUsK0JBQStCLEVBQUU7WUFDeEQsSUFBSSxFQUFFLCtCQUErQjtZQUNyQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsV0FBVyxFQUFFLHdDQUE0QixDQUFDLFNBQVM7WUFDbkQsS0FBSyxFQUFFLG9CQUFvQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLDRCQUNuRCxzQkFBc0IsQ0FBQyxZQUN6QixpREFBaUQ7WUFDakQsT0FBTyxFQUFFLHNFQUFzRTtnQkFDckUsdUVBQXVFO1lBQ2pGLFFBQVEsRUFBRSxDQUFDO1lBQ1gsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpERCxvRUF5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSwgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWNzQWJydXB0bHlTdG9wcGVkTW9uaXRvclByb3BzIHtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgbm90aWZpY2F0aW9uOiBJTm90aWZpY2F0aW9uO1xuICAvKipcbiAgICAgKiBBUk4gb2YgdGhlIGNsdXN0ZXIgdGhhdCBzaG91bGQgYmUgbW9uaXRvcmVkLlxuICAgICAqIElmIG5vIGNsdXN0ZXIgaXMgcHJvdmlkZWQsIGFsbCBFQ1Mgd2lsbCBiZSBwYXJ0IG9mIHRoZSBtb25pdG9yLlxuICAgICAqL1xuICBjbHVzdGVyQXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqICMgV0FSTklORzogVGhpcyBjb25zdHJ1Y3QgaXMgc3RpbGwgb24gYmV0YSBwaGFzZS5cbiAqXG4gKiBUaGUgY29uc3RydWN0IGNyZWF0ZXMgbW9uaXRvcmluZyBmb3IgZGV0ZWN0aW5nIEVDUyBjb250YWluZXJzIHRoYXQgd2VyZSBzdG9wcGVkIGFicnVwdGx5IGZvciByZWFzb25zIHN1Y2ggYXMsXG4gKiBvdXQgb2YgbWVtb3J5LCBmYWlsZWQgaGVhbHRoIGNoZWNrcy5cbiAqXG4gKiBUaGUgbW9uaXRvciB3aWxsIGNvbnN1bWUgdGhlIEVDUyBldmVudHMgYW5kIHNlbmQgdGhlbSB0byBhIENsb3VkV2F0Y2ggbG9nIGdyb3VwLCB3aGljaCBhcmUgZm9yd2FyZGVkIHRvIERhdGFkb2cgZm9yXG4gKiBiZXR0ZXIgYW5hbHlzZXMgYW5kIHRyaWdnZXIgYW4gYWxlcnQuXG4gKlxuICogTW9yZSBkZXRhaWxzIG9uIHRoZSBBV1MgRUNTIGV2ZW50cyBjYW4gYmUgZm91bmQgaGVyZTpcbiAqIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3NfY3dlX2V2ZW50cy5odG1sfVxuICpcbiAqIFRoaXMgbW9uaXRvciBhZGRzIHRyYW5zcGFyZW5jeSB0byBzdWNoIGNhc2VzLCB3aGljaCBvdGhlcndpc2Ugd291bGQgaGFwcGVuIHdpdGhvdXQgYmVpbmcgbm90aWNlZCBhbmQgY291bGQgZXNjYWxhdGVcbiAqIHRvIGJpZ2dlciBpc3N1ZXMsIGxpa2UgYSBzZXJ2aWNlIGJlaW5nIHRoYXQgcmVxdWlyZXMgbW9yZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NFY3NBYnJ1cHRseVN0b3BwZWRNb25pdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc0FicnVwdGx5U3RvcHBlZE1vbml0b3JQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBlY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwID0gbmV3IGNkay5hd3NfbG9ncy5Mb2dHcm91cCh0aGlzLCAnRWNzU3RhdGVDaGFuZ2VMb2dHcm91cCcpO1xuXG4gICAgbmV3IGNkay5hd3NfbG9ncy5Mb2dSZXRlbnRpb24odGhpcywgJ0Vjc1N0YXRlQ2hhbmdlTG9nUmV0ZW50aW9uJywge1xuICAgICAgbG9nR3JvdXBOYW1lOiBlY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwLmxvZ0dyb3VwTmFtZSxcbiAgICAgIHJldGVudGlvbjogMyxcbiAgICB9KTtcblxuICAgIC8vIFJ1bGUgdG8gY292ZXIgYWxsIGNsdXN0ZXJzIHN0YXR1cyBjaGFuZ2VzXG4gICAgbmV3IGNkay5hd3NfZXZlbnRzLlJ1bGUodGhpcywgJ0Vjc1N0YXRlQ2hhbmdlUnVsZScsIHtcbiAgICAgIGV2ZW50UGF0dGVybjoge1xuICAgICAgICBzb3VyY2U6IFsnYXdzLmVjcyddLFxuICAgICAgICBkZXRhaWxUeXBlOiBbJ0VDUyBUYXNrIFN0YXRlIENoYW5nZScsICdFQ1MgQ29udGFpbmVyIEluc3RhbmNlIFN0YXRlIENoYW5nZScsICdFQ1MgU2VydmljZSBBY3Rpb24nXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgZGVzaXJlZFN0YXR1czogWydTVE9QUEVEJ10sXG4gICAgICAgICAgbGFzdFN0YXR1czogWydTVE9QUEVEJ10sXG4gICAgICAgICAgLi4uKHByb3BzLmNsdXN0ZXJBcm4gJiYgeyBjbHVzdGVyQXJuOiBbcHJvcHMuY2x1c3RlckFybl0gfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyBjZGsuYXdzX2V2ZW50c190YXJnZXRzLkNsb3VkV2F0Y2hMb2dHcm91cChlY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2dGb3J3YXJkZXJMYW1iZGEgPSBjZGsuYXdzX2xhbWJkYS5GdW5jdGlvbi5mcm9tRnVuY3Rpb25BdHRyaWJ1dGVzKFxuICAgICAgdGhpcyxcbiAgICAgICdFY3NTdGF0ZUNoYW5nZUxvZ0ZvcndhcmRlckxhbWJkYScsXG4gICAgICB7XG4gICAgICAgIGZ1bmN0aW9uQXJuOiBjZGsuRm4uaW1wb3J0VmFsdWUoJ2N1c3RvbS1yZXNvdXJjZS1kYXRhZG9nLWxvZ2ZvcndhcmRlci1mdW5jdGlvbi1hcm4nKSxcbiAgICAgICAgc2FtZUVudmlyb25tZW50OiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgbmV3IGNkay5hd3NfbG9ncy5TdWJzY3JpcHRpb25GaWx0ZXIodGhpcywgJ0Vjc1N0YXRlQ2hhbmdlTG9nRmlsdGVyJywge1xuICAgICAgZGVzdGluYXRpb246IG5ldyBjZGsuYXdzX2xvZ3NfZGVzdGluYXRpb25zLkxhbWJkYURlc3RpbmF0aW9uKGxvZ0ZvcndhcmRlckxhbWJkYSksXG4gICAgICBmaWx0ZXJQYXR0ZXJuOiBjZGsuYXdzX2xvZ3MuRmlsdGVyUGF0dGVybi5hbnlUZXJtKFxuICAgICAgICAnQ29udGFpbmVyIGtpbGxlZCBkdWUgdG8nLFxuICAgICAgICAnVGFzayBmYWlsZWQgY29udGFpbmVyIGhlYWx0aCBjaGVja3MnLFxuICAgICAgKSxcbiAgICAgIGxvZ0dyb3VwOiBlY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwLFxuICAgIH0pO1xuXG4gICAgLy8gQWZ0ZXIgYmVpbmcgbWlncmF0ZWQgdG8gdGhlIG5ldyB2ZXJzaW9uIGl0IGNhbiBiZSBhZGRlZCB0byB0aGUgQ0xBSUQgY29uc3RydWN0IHJlcG9zaXRvcnlcbiAgICBuZXcgRGF0YWRvZ01vbml0b3IodGhpcywgJ0Vjc1N0YXRlQ2hhbmdlTG9nR3JvdXBNb25pdG9yJywge1xuICAgICAgbmFtZTogJ1VuZXhwZWN0ZWQgRUNTIHN0YXR1cyBjaGFuZ2VzJyxcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG1vbml0b3JUeXBlOiBEYXRhZG9nTW9uaXRvclF1ZXJ5QWxlcnRUeXBlLkxPR19BTEVSVCxcbiAgICAgIHF1ZXJ5OiBgbG9ncyhcImFjY291bnRfaWQ6JHtjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudH0gQGF3cy5hd3Nsb2dzLmxvZ0dyb3VwOlxcXCIke1xuICAgICAgICBlY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwLmxvZ0dyb3VwTmFtZVxuICAgICAgfVxcXCJcIikuaW5kZXgoXCIqXCIpLnJvbGx1cChcImNvdW50XCIpLmxhc3QoXCI1bVwiKSA+PSAxYCxcbiAgICAgIG1lc3NhZ2U6ICd7eyNpc19hbGVydH19VGhlcmUgYXJlIHVuZXhwZWN0ZWQgRUNTIHN0YXR1cyBjaGFuZ2VzIGluIHRoZSBhY2NvdW50ICcgK1xuICAgICAgICAgICAgICAgICd7e2xvZy50YWdzLmFjY291bnRfaWR9fSwgbW9yZSBkZXRhaWxzIGhlcmUge3tsb2cubGlua319IHt7L2lzX2FsZXJ0fX0nLFxuICAgICAgcHJpb3JpdHk6IDMsXG4gICAgICBub3RpZmljYXRpb246IHByb3BzLm5vdGlmaWNhdGlvbixcbiAgICB9KTtcbiAgfVxufVxuXG4iXX0=
68
+ _a = JSII_RTTI_SYMBOL_1;
69
+ AwsEcsAbruptlyStoppedMonitor[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.AwsEcsAbruptlyStoppedMonitor", version: "0.0.0" };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLW91Ym91dC1vcmRlci1ib29rL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yL2F3cy1lY3MtYWJydXB0bHktc3RvcHBlZC1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUF1QztBQUN2QyxrREFBaUc7QUFZakc7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLDRCQUE2QixTQUFRLHNCQUFTO0lBQ3pELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLHNCQUFzQixHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFFekYsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7WUFDaEUsWUFBWSxFQUFFLHNCQUFzQixDQUFDLFlBQVk7WUFDakQsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7UUFFSCw0Q0FBNEM7UUFDNUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDbEQsWUFBWSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsVUFBVSxFQUFFLENBQUMsdUJBQXVCLEVBQUUscUNBQXFDLEVBQUUsb0JBQW9CLENBQUM7Z0JBQ2xHLE1BQU0sRUFBRTtvQkFDTixhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQzFCLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDdkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztpQkFDNUQ7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDakYsQ0FBQyxDQUFDO1FBRUgsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FDdkUsSUFBSSxFQUNKLGtDQUFrQyxFQUNsQztZQUNFLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxtREFBbUQsQ0FBQztZQUNwRixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUNGLENBQUM7UUFFRixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ25FLFdBQVcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztZQUNoRixhQUFhLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUMvQyx5QkFBeUIsRUFDekIscUNBQXFDLENBQ3RDO1lBQ0QsUUFBUSxFQUFFLHNCQUFzQjtTQUNqQyxDQUFDLENBQUM7UUFFSCw0RkFBNEY7UUFDNUYsSUFBSSwwQkFBYyxDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRTtZQUN4RCxJQUFJLEVBQUUsK0JBQStCO1lBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixXQUFXLEVBQUUsd0NBQTRCLENBQUMsU0FBUztZQUNuRCxLQUFLLEVBQUUsb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sNEJBQ25ELHNCQUFzQixDQUFDLFlBQ3pCLGlEQUFpRDtZQUNqRCxPQUFPLEVBQUUsc0VBQXNFO2dCQUNyRSx1RUFBdUU7WUFDakYsUUFBUSxFQUFFLENBQUM7WUFDWCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4REgsb0VBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ01vbml0b3IsIERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUsIElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVjc0FicnVwdGx5U3RvcHBlZE1vbml0b3JQcm9wcyB7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogSU5vdGlmaWNhdGlvbjtcbiAgLyoqXG4gICAgICogQVJOIG9mIHRoZSBjbHVzdGVyIHRoYXQgc2hvdWxkIGJlIG1vbml0b3JlZC5cbiAgICAgKiBJZiBubyBjbHVzdGVyIGlzIHByb3ZpZGVkLCBhbGwgRUNTIHdpbGwgYmUgcGFydCBvZiB0aGUgbW9uaXRvci5cbiAgICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlckFybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiAjIFdBUk5JTkc6IFRoaXMgY29uc3RydWN0IGlzIHN0aWxsIG9uIGJldGEgcGhhc2UuXG4gKlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgZm9yIGRldGVjdGluZyBFQ1MgY29udGFpbmVycyB0aGF0IHdlcmUgc3RvcHBlZCBhYnJ1cHRseSBmb3IgcmVhc29ucyBzdWNoIGFzLFxuICogb3V0IG9mIG1lbW9yeSwgZmFpbGVkIGhlYWx0aCBjaGVja3MuXG4gKlxuICogVGhlIG1vbml0b3Igd2lsbCBjb25zdW1lIHRoZSBFQ1MgZXZlbnRzIGFuZCBzZW5kIHRoZW0gdG8gYSBDbG91ZFdhdGNoIGxvZyBncm91cCwgd2hpY2ggYXJlIGZvcndhcmRlZCB0byBEYXRhZG9nIGZvclxuICogYmV0dGVyIGFuYWx5c2VzIGFuZCB0cmlnZ2VyIGFuIGFsZXJ0LlxuICpcbiAqIE1vcmUgZGV0YWlscyBvbiB0aGUgQVdTIEVDUyBldmVudHMgY2FuIGJlIGZvdW5kIGhlcmU6XG4gKiB7QGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZWNzX2N3ZV9ldmVudHMuaHRtbH1cbiAqXG4gKiBUaGlzIG1vbml0b3IgYWRkcyB0cmFuc3BhcmVuY3kgdG8gc3VjaCBjYXNlcywgd2hpY2ggb3RoZXJ3aXNlIHdvdWxkIGhhcHBlbiB3aXRob3V0IGJlaW5nIG5vdGljZWQgYW5kIGNvdWxkIGVzY2FsYXRlXG4gKiB0byBiaWdnZXIgaXNzdWVzLCBsaWtlIGEgc2VydmljZSBiZWluZyB0aGF0IHJlcXVpcmVzIG1vcmUgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzRWNzQWJydXB0bHlTdG9wcGVkTW9uaXRvciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NBYnJ1cHRseVN0b3BwZWRNb25pdG9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCA9IG5ldyBjZGsuYXdzX2xvZ3MuTG9nR3JvdXAodGhpcywgJ0Vjc1N0YXRlQ2hhbmdlTG9nR3JvdXAnKTtcblxuICAgIG5ldyBjZGsuYXdzX2xvZ3MuTG9nUmV0ZW50aW9uKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ1JldGVudGlvbicsIHtcbiAgICAgIGxvZ0dyb3VwTmFtZTogZWNzU3RhdGVDaGFuZ2VMb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICByZXRlbnRpb246IDMsXG4gICAgfSk7XG5cbiAgICAvLyBSdWxlIHRvIGNvdmVyIGFsbCBjbHVzdGVycyBzdGF0dXMgY2hhbmdlc1xuICAgIG5ldyBjZGsuYXdzX2V2ZW50cy5SdWxlKHRoaXMsICdFY3NTdGF0ZUNoYW5nZVJ1bGUnLCB7XG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbJ2F3cy5lY3MnXSxcbiAgICAgICAgZGV0YWlsVHlwZTogWydFQ1MgVGFzayBTdGF0ZSBDaGFuZ2UnLCAnRUNTIENvbnRhaW5lciBJbnN0YW5jZSBTdGF0ZSBDaGFuZ2UnLCAnRUNTIFNlcnZpY2UgQWN0aW9uJ10sXG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGRlc2lyZWRTdGF0dXM6IFsnU1RPUFBFRCddLFxuICAgICAgICAgIGxhc3RTdGF0dXM6IFsnU1RPUFBFRCddLFxuICAgICAgICAgIC4uLihwcm9wcy5jbHVzdGVyQXJuICYmIHsgY2x1c3RlckFybjogW3Byb3BzLmNsdXN0ZXJBcm5dIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhcmdldHM6IFtuZXcgY2RrLmF3c19ldmVudHNfdGFyZ2V0cy5DbG91ZFdhdGNoTG9nR3JvdXAoZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCldLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nRm9yd2FyZGVyTGFtYmRhID0gY2RrLmF3c19sYW1iZGEuRnVuY3Rpb24uZnJvbUZ1bmN0aW9uQXR0cmlidXRlcyhcbiAgICAgIHRoaXMsXG4gICAgICAnRWNzU3RhdGVDaGFuZ2VMb2dGb3J3YXJkZXJMYW1iZGEnLFxuICAgICAge1xuICAgICAgICBmdW5jdGlvbkFybjogY2RrLkZuLmltcG9ydFZhbHVlKCdjdXN0b20tcmVzb3VyY2UtZGF0YWRvZy1sb2dmb3J3YXJkZXItZnVuY3Rpb24tYXJuJyksXG4gICAgICAgIHNhbWVFbnZpcm9ubWVudDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIG5ldyBjZGsuYXdzX2xvZ3MuU3Vic2NyaXB0aW9uRmlsdGVyKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ0ZpbHRlcicsIHtcbiAgICAgIGRlc3RpbmF0aW9uOiBuZXcgY2RrLmF3c19sb2dzX2Rlc3RpbmF0aW9ucy5MYW1iZGFEZXN0aW5hdGlvbihsb2dGb3J3YXJkZXJMYW1iZGEpLFxuICAgICAgZmlsdGVyUGF0dGVybjogY2RrLmF3c19sb2dzLkZpbHRlclBhdHRlcm4uYW55VGVybShcbiAgICAgICAgJ0NvbnRhaW5lciBraWxsZWQgZHVlIHRvJyxcbiAgICAgICAgJ1Rhc2sgZmFpbGVkIGNvbnRhaW5lciBoZWFsdGggY2hlY2tzJyxcbiAgICAgICksXG4gICAgICBsb2dHcm91cDogZWNzU3RhdGVDaGFuZ2VMb2dHcm91cCxcbiAgICB9KTtcblxuICAgIC8vIEFmdGVyIGJlaW5nIG1pZ3JhdGVkIHRvIHRoZSBuZXcgdmVyc2lvbiBpdCBjYW4gYmUgYWRkZWQgdG8gdGhlIENMQUlEIGNvbnN0cnVjdCByZXBvc2l0b3J5XG4gICAgbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsICdFY3NTdGF0ZUNoYW5nZUxvZ0dyb3VwTW9uaXRvcicsIHtcbiAgICAgIG5hbWU6ICdVbmV4cGVjdGVkIEVDUyBzdGF0dXMgY2hhbmdlcycsXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBtb25pdG9yVHlwZTogRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZS5MT0dfQUxFUlQsXG4gICAgICBxdWVyeTogYGxvZ3MoXCJhY2NvdW50X2lkOiR7Y2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnR9IEBhd3MuYXdzbG9ncy5sb2dHcm91cDpcXFwiJHtcbiAgICAgICAgZWNzU3RhdGVDaGFuZ2VMb2dHcm91cC5sb2dHcm91cE5hbWVcbiAgICAgIH1cXFwiXCIpLmluZGV4KFwiKlwiKS5yb2xsdXAoXCJjb3VudFwiKS5sYXN0KFwiNW1cIikgPj0gMWAsXG4gICAgICBtZXNzYWdlOiAne3sjaXNfYWxlcnR9fVRoZXJlIGFyZSB1bmV4cGVjdGVkIEVDUyBzdGF0dXMgY2hhbmdlcyBpbiB0aGUgYWNjb3VudCAnICtcbiAgICAgICAgICAgICAgICAne3tsb2cudGFncy5hY2NvdW50X2lkfX0sIG1vcmUgZGV0YWlscyBoZXJlIHt7bG9nLmxpbmt9fSB7ey9pc19hbGVydH19JyxcbiAgICAgIHByaW9yaXR5OiAzLFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy5ub3RpZmljYXRpb24sXG4gICAgfSk7XG4gIH1cbn1cblxuIl19
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RioCapabilityMonitoringDeployStep = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
5
6
  const pipelines = require("aws-cdk-lib/pipelines");
6
7
  class RioCapabilityMonitoringDeployStep extends pipelines.CodeBuildStep {
7
8
  constructor(scope, id, props) {
@@ -11,8 +12,12 @@ class RioCapabilityMonitoringDeployStep extends pipelines.CodeBuildStep {
11
12
  `echo "Uploading ${index}/${file}" to S3`,
12
13
  `aws s3 cp "${index}/${file}" s3://monitoring-testsuite-runner-${aws_cdk_lib_1.Stack.of(scope).account}`,
13
14
  ])).flat(2),
15
+ buildEnvironment: {
16
+ buildImage: aws_codebuild_1.LinuxLambdaBuildImage.AMAZON_LINUX_2023_NODE_20,
17
+ computeType: aws_codebuild_1.ComputeType.LAMBDA_1GB,
18
+ },
14
19
  });
15
20
  }
16
21
  }
17
22
  exports.RioCapabilityMonitoringDeployStep = RioCapabilityMonitoringDeployStep;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy1kZXBsb3ktc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9tb25pdG9yaW5nLWRlcGxveS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyxtREFBbUQ7QUFZbkQsTUFBYSxpQ0FBa0MsU0FBUSxTQUFTLENBQUMsYUFBYTtJQUM1RSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZDO1FBQ3JGLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDUixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUNoRCxDQUFDLE1BQVcsRUFBRSxJQUFzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUgsUUFBUSxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFzQyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ2hHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNaLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsbUJBQW1CLEtBQUssSUFBSSxJQUFJLFNBQVM7Z0JBQ3pDLGNBQWMsS0FBSyxJQUFJLElBQUksc0NBQXNDLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTthQUMzRixDQUNGLENBQ0YsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBZkQsOEVBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdBcnRpZmFjdHMge1xuICBpbnB1dDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXI7XG4gIGZpbGVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcyB7XG4gIG1vbml0b3JpbmdBcnRpZmFjdHM6IFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nQXJ0aWZhY3RzW107XG59XG5cbmV4cG9ydCBjbGFzcyBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcykge1xuICAgIHN1cGVyKGlkLCB7XG4gICAgICBhZGRpdGlvbmFsSW5wdXRzOiBwcm9wcy5tb25pdG9yaW5nQXJ0aWZhY3RzLnJlZHVjZShcbiAgICAgICAgKHJlc3VsdDogYW55LCBpdGVtOiBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0FydGlmYWN0cykgPT4gKHsgLi4ucmVzdWx0LCBbYCR7T2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGh9YF06IGl0ZW0uaW5wdXQgfSksIHt9KSxcbiAgICAgIGNvbW1hbmRzOiBwcm9wcy5tb25pdG9yaW5nQXJ0aWZhY3RzLm1hcCgoaXRlbTogUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdBcnRpZmFjdHMsIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgIGl0ZW0uZmlsZXMubWFwKFxuICAgICAgICAgIChmaWxlOiBzdHJpbmcpID0+IFtcbiAgICAgICAgICAgIGBlY2hvIFwiVXBsb2FkaW5nICR7aW5kZXh9LyR7ZmlsZX1cIiB0byBTM2AsXG4gICAgICAgICAgICBgYXdzIHMzIGNwIFwiJHtpbmRleH0vJHtmaWxlfVwiIHMzOi8vbW9uaXRvcmluZy10ZXN0c3VpdGUtcnVubmVyLSR7U3RhY2sub2Yoc2NvcGUpLmFjY291bnR9YCxcbiAgICAgICAgICBdLFxuICAgICAgICApLFxuICAgICAgKS5mbGF0KDIpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmluZy1kZXBsb3ktc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9tb25pdG9yaW5nLWRlcGxveS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyw2REFBK0U7QUFDL0UsbURBQW1EO0FBWW5ELE1BQWEsaUNBQWtDLFNBQVEsU0FBUyxDQUFDLGFBQWE7SUFDNUUsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QztRQUNyRixLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ1IsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FDaEQsQ0FBQyxNQUFXLEVBQUUsSUFBc0MsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlILFFBQVEsRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBc0MsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWixDQUFDLElBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLG1CQUFtQixLQUFLLElBQUksSUFBSSxTQUFTO2dCQUN6QyxjQUFjLEtBQUssSUFBSSxJQUFJLHNDQUFzQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7YUFDM0YsQ0FDRixDQUNGLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNULGdCQUFnQixFQUFFO2dCQUNoQixVQUFVLEVBQUUscUNBQXFCLENBQUMseUJBQXlCO2dCQUMzRCxXQUFXLEVBQUUsMkJBQVcsQ0FBQyxVQUFVO2FBQ3BDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbkJELDhFQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29tcHV0ZVR5cGUsIExpbnV4TGFtYmRhQnVpbGRJbWFnZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0FydGlmYWN0cyB7XG4gIGlucHV0OiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlcjtcbiAgZmlsZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcFByb3BzIHtcbiAgbW9uaXRvcmluZ0FydGlmYWN0czogUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdBcnRpZmFjdHNbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCBleHRlbmRzIHBpcGVsaW5lcy5Db2RlQnVpbGRTdGVwIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcFByb3BzKSB7XG4gICAgc3VwZXIoaWQsIHtcbiAgICAgIGFkZGl0aW9uYWxJbnB1dHM6IHByb3BzLm1vbml0b3JpbmdBcnRpZmFjdHMucmVkdWNlKFxuICAgICAgICAocmVzdWx0OiBhbnksIGl0ZW06IFJpb0NhcGFiaWxpdHlNb25pdG9yaW5nQXJ0aWZhY3RzKSA9PiAoeyAuLi5yZXN1bHQsIFtgJHtPYmplY3Qua2V5cyhyZXN1bHQpLmxlbmd0aH1gXTogaXRlbS5pbnB1dCB9KSwge30pLFxuICAgICAgY29tbWFuZHM6IHByb3BzLm1vbml0b3JpbmdBcnRpZmFjdHMubWFwKChpdGVtOiBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0FydGlmYWN0cywgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgaXRlbS5maWxlcy5tYXAoXG4gICAgICAgICAgKGZpbGU6IHN0cmluZykgPT4gW1xuICAgICAgICAgICAgYGVjaG8gXCJVcGxvYWRpbmcgJHtpbmRleH0vJHtmaWxlfVwiIHRvIFMzYCxcbiAgICAgICAgICAgIGBhd3MgczMgY3AgXCIke2luZGV4fS8ke2ZpbGV9XCIgczM6Ly9tb25pdG9yaW5nLXRlc3RzdWl0ZS1ydW5uZXItJHtTdGFjay5vZihzY29wZSkuYWNjb3VudH1gLFxuICAgICAgICAgIF0sXG4gICAgICAgICksXG4gICAgICApLmZsYXQoMiksXG4gICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4TGFtYmRhQnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMjAyM19OT0RFXzIwLFxuICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFNQkRBXzFHQixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -105,7 +105,7 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
105
105
  product: index_1.ClaidometerProduct.CDK_CONTRIBUTION,
106
106
  packageName,
107
107
  feature,
108
- version: '0.0.19',
108
+ version: '0.0.20',
109
109
  });
110
110
  }
111
111
  get mainCodebuildProject() {
@@ -147,6 +147,10 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
147
147
  'zip -r -q -A $ZIP_ARCHIVE *',
148
148
  'aws s3 cp $ZIP_ARCHIVE s3://$S3_PATH',
149
149
  ],
150
+ buildEnvironment: {
151
+ buildImage: aws_codebuild_1.LinuxLambdaBuildImage.AMAZON_LINUX_2023_NODE_20,
152
+ computeType: aws_codebuild_1.ComputeType.LAMBDA_1GB,
153
+ },
150
154
  });
151
155
  pipeline.addWave('BeforeDeploy', { pre: [stripAssetsStep] });
152
156
  const capabilityMonitoringDeployStep = this.createCapabilityMonitoringDeployStep(mainBuild, props);
@@ -290,4 +294,4 @@ class PipelineStack extends aws_cdk_lib_1.Stack {
290
294
  exports.PipelineStack = PipelineStack;
291
295
  _a = JSII_RTTI_SYMBOL_1;
292
296
  PipelineStack[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.PipelineStack", version: "0.0.0" };
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBOEY7QUFDOUYsNkRBQXdFO0FBQ3hFLDZFQUE2RTtBQUM3RSxpREFBaUQ7QUFDakQsMERBQTBEO0FBQzFELGlEQUFvRDtBQUVwRCx5Q0FBeUM7QUFDekMsK0NBQXFEO0FBQ3JELDJDQUEyQztBQUUzQyxtREFBbUQ7QUFDbkQscURBQTBFO0FBRTFFLGdDQUFnQztBQUNoQywyREFBa0Q7QUFDbEQsbURBQXNEO0FBQ3RELHlEQUFnSDtBQUNoSCxxRUFBNkU7QUFHN0Usc0NBQXNDO0FBQ3RDLDBDQUFpRTtBQUNqRSxnREFBaUQ7QUFzSWpELElBQVksWUFzQ1g7QUF0Q0QsV0FBWSxZQUFZO0lBRXRCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1EQUFtQyxDQUFBO0lBQ25DOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7Ozs7T0FLRztJQUNILG1FQUFtRCxDQUFBO0FBQ3JELENBQUMsRUF0Q1csWUFBWSw0QkFBWixZQUFZLFFBc0N2QjtBQWNELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBY3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBRSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFB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QUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFXLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU8seUJBQXlCLENBQUMsUUFBZ0M7UUFDaEUsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUU7WUFDdEYsWUFBWSxFQUFFLHNCQUFzQjtZQUNwQyxZQUFZLEVBQUUsdUJBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVk7WUFDbEUsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7YUFDdEM7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUE3UUgsc0NBOFFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBEdXJhdGlvbiwgRm4sIFJlZmVyZW5jZSwgUmVtb3ZhbFBvbGljeSwgU3RhY2ssIFN0YWNrUHJvcHMsIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZEVudmlyb25tZW50LCBCdWlsZFNwZWMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZV9hY3Rpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgeyBNYW5hZ2VkUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBJSG9zdGVkWm9uZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBCdWNrZXQsIElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0IHsgSVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb2RlQnVpbGRTdGVwLCBDb2RlUGlwZWxpbmVTb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uLXN0YWdlJztcbmltcG9ydCB7IFJpb0NvZGVCdWlsZFByb2plY3QgfSBmcm9tICcuL2J1aWxkLXByb2plY3QnO1xuaW1wb3J0IHsgRGF0YWRvZ1BpcGVsaW5lRXJyb3JBbGVydCwgRGF0YURvZ1BpcGVsaW5lRXJyb3JBbGVydEZvclZ1bG5lcmFiaWxpdHlDaGVja3MgfSBmcm9tICcuL2RhdGFkb2ctbW9uaXRvcnMnO1xuaW1wb3J0IHsgUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwIH0gZnJvbSAnLi9tb25pdG9yaW5nLWRlcGxveS1zdGVwJztcbmltcG9ydCB7IERhdGFkb2dBbGVydFR5cGUgfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9nJztcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi8uLi9kYXRhZG9ndjInO1xuaW1wb3J0ICogYXMgcmlvIGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IENsYWlkb21ldGVyLCBDbGFpZG9tZXRlclByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBVcHBlclRvTG93ZXIgfSBmcm9tICcuLi8uLi8uLi93YXRjaGZ1bCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVNjaGVkdWxlc1Byb3BzIHtcbiAgcmVhZG9ubHkgbWFpblBpcGVsaW5lPzogc3RyaW5nO1xuICByZWFkb25seSB2dWxuZXJhYmlsaXR5UGlwZWxpbmU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2VcbiAgICogLSBUaGlzIGhhcyB0byBiZSB0aGUgc2FtZSBuYW1lIGFzIHRoZSByZXBvc2l0b3J5IGFzIHRoZSBzMyB0cmlnZ2VyIGZpbGUgY3JlYXRlZCBieSB0aGUgYml0YnVja2V0LWludGVncmF0aW9uIHVzZXMgdGhpcyBhcyBhIHByZWZpeFxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBhdmFpbGFibGUgYXMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgU0VSVklDRV9OQU1FIGluIHRoZSBDb2RlQnVpbGRTdGVwXG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBzdGFja05hbWUgcHJvcGVydHkgaW4gdGhlIEFwcFN0YWNrUHJvcHMgaW4gdGhlIGFwcFN0YWNrRmFjdG9yeS4gSS5lLiB0aGUgc3RhY2sgaXMgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2VcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgaGFuZGVkIG92ZXIgdG8gYWxsIERhdGFkb2cgbW9uaXRvcnNcbiAgICogLSBSSU8gY29udmVudGlvbiBpcyB0aGF0IHVwbG9hZGVkIGxpY2Vuc2UtY2hlY2stZmlsZXMgYXJlIG5hbWVkIGFmdGVyIHRoZSBzZXJ2aWNlLCBpLmUuIHNlcnZpY2VOYW1lLnR4dFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvdmlkZXIgZm9yIGFwcFN0YWNrIHRvIGJlIGRlcGxveWVkLlxuICAgKlxuICAgKiBUaGlzIGFjdHMgYXMgYSB3cmFwcGVyIGZvciBhbGwgcmVzb3VyY2VzIHlvdSB3YW50IHRvIGRlcGxveSB2aWEgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwU3RhY2tGYWN0b3J5OiBJQXBwU3RhY2tGYWN0b3J5O1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHdoaWNoIGtpbmQgb2YgcGlwZWxpbmUgaXMgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZTtcblxuICAvKipcbiAgICogRGVmaW5lcyBob3cgb2Z0ZW4gdGhlIHBpcGVsaW5lIGlzIHRyaWdnZXJlZCBhdXRvbWF0aWNhbGx5LiBJcyBkZWZpbmVkIHZpYSBhIGNyb24gZXhwcmVzc2lvbi5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9ldmVudHMvU2NoZWR1bGVkRXZlbnRzLmh0bWxcbiAgICpcbiAgICogRGVmYXVsdCB2YWx1ZXM6XG4gICAqIC0gbWFpbiBwaXBlbGluZTogY3JvbigwIDkgPyAqIDIjMSAqKVxuICAgKiAtIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmU6IGNyb24oMCA1ID8gKiBNT04tRlJJICopXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZVNjaGVkdWxlcz86IFBpcGVsaW5lU2NoZWR1bGVzUHJvcHM7XG5cblxuICAvKipcbiAgICogUGF0aCB0byBzZWNyZXRzIGZpbGUgY29udGFpbmluZyBlbmNyeXB0ZWQgc2VjcmV0cy5cbiAgICpcbiAgICogVGhlIFJpb1NlY3JldHNEZXBsb3lTdGVwIGlzIGFkZGVkIHByaW9yIHRvIGRlcGxveW1lbnQgb2YgdGhlIEFwcFN0YWNrIGlmIGEgcGF0aCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogTm8gc2VjcmV0cyBhcmUgZGVwbG95ZWQgaWYgbm8gcGF0aCBpcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcztcblxuICAvKipcbiAgICogQ29kZUJ1aWxkIG9wdGlvbnMgb3ZlcnJpZGluZyB0aGUgcmlvLXNwZWNpZmljIGRlZmF1bHRzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUJ1aWxkT3B0aW9ucz86IENvZGVCdWlsZE9wdGlvbnM7XG4gIC8qKlxuICAgKiBJZiBwcmVzZW50LCB0aGUgY2FwYWJpbGl0eSBtb25pdG9yaW5nIGRlcGxveSBzdGVwIGlzIGFkZGVkIHRvIHRoZSBwaXBlbGluZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHM/OiBQaXBlbGluZVN0YWNrUmlvTW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgdGhlIGB2dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiBJZiBgb3BzZ2VuaWVgIGlzIHNwZWNpZmllZCwgYW4gRXhjZXB0aW9uIGlzIHRocm93biwgYXMgdGhpcyBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nQWxlcnRUeXBlPzogRGF0YWRvZ0FsZXJ0VHlwZTtcbiAgLyoqXG4gICAqIE5vdGlmaWNhdGlvbiB0eXBlIGZvciB0aGUgYXV0by1nZW5lcmF0ZWQgdnVsbmVyYWJpbGl0eSBwaXBlbGluZSBtb25pdG9yLiBEZWZhdWx0cyB0byBzbGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24/OiBJTm90aWZpY2F0aW9uO1xufVxuXG4vKipcbiAqIFByb3ZpZGVyIGludGVyZmFjZSB0byBjcmVhdGUgdGhlIEFwcFN0YWNrIHdpdGhpbiB0aGUgc3BlY2lmaWMgc2NvcGVcbiAqXG4gKiBTaW1wbHkgcGxhY2UgdGhlIEFwcFN0YWNrIGNyZWF0aW9uIGludG8gdGhlIGNyZWF0ZS1tZXRob2Q6XG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzZSBlLmcuIHdpdGhpbiBBcHBsaWNhdGlvblByb3BzIGFzIEpTT05PYmplY3Q6XG4gKiB7IGNyZWF0ZTogKGNvbnN0cnVjdCwgcHJvcHMpID0+IG5ldyBTdGFjayhjb25zdHJ1Y3QsICdBcHBTdGFjaycsIHByb3BzKSB9XG4gKlxuICogLy8gb3Igc2ltcGx5IGFzIGNsYXNzIGludGVyZmFjZSB3aXRoaW4geW91ciBzdGFjayBpbXBsZW1lbnRhdGlvbjpcbiAqIGNsYXNzIFBpcGVsaW5lU3RhZ2UgZXh0ZW5kcyBTdGFnZSBpbXBsZW1lbnRzIElBcHBTdGFja0ZhY3Rvcnkge1xuICogICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhZ2VQcm9wcykge1xuICogICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICogICAgIC8vIHlvdXIgc3RhZ2UgZGVmaW5pdGlvblxuICogICB9XG4gKlxuICogICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkIHtcbiAqICAgICAvLyBhcHAgc3RhY2sgaW5pdGlhdGlvbiBnb2VzIGluIGhlcmVcbiAqICAgfVxuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBTdGFja0ZhY3Rvcnkge1xuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QsIGJlaW5nIGludm9rZWQgd2l0aCB0aGUgc3BlY2lmaWMgc2NvcGUgZHVyaW5nIHBpcGVsaW5lIGluc3RhbnRpYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBwYXJlbnQgY29uc3RydWN0IGZvciB0aGUgYXBwIHN0YWNrXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgYXBwIHN0YWNrcyBwcm9wZXJ0aWVzXG4gICAqL1xuICBjcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEFwcFN0YWNrUHJvcHMpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlbGVjdGVkIHByb3BlcnRpZXMgYmVpbmcgaGFuZGVkIG92ZXIgdG8gUmlvU2VjcmV0c0RlcGxveVN0ZXAuXG4gKlxuICogQHNlZSByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXBcbiAqIEBzZWUgcmlvLlJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVN0YWNrUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wcyB7XG4gIHJlYWRvbmx5IHNlY3JldHNGaWxlUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tSaW9Nb25pdG9yaW5nRGVwbG95U3RlcFByb3BzIHtcbiAgLyoqXG4gICAqIE1hcCB7ZGlyZWN0b3J5OiBmaWxlbmFtZXN9IGNvbnRhaW5pbmcgIC5qYXIgb3IgLnppcCBmaWxlcyBjcmVhdGVkIGluIG1haW4gYnVpbGQgc3RlcCB0byBiZSB1cGxvYWRlZCB0byB0aGUgbW9uaXRvcmluZy10ZXN0c3VpdGUtcnVubmVyIGJ1Y2tldCwgZS5nLlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgJ2F2YWlsYWJpbGl0eS1tb25pdG9yaW5nL2J1aWxkL2xpYnMnOiBbJ2Zvby1hdmFpbGFiaWxpdHkuamFyJ10sXG4gICAqICAncGVyZm9ybWFuY2UtbW9uaXRvcmluZy9idWlsZC9saWJzJzogWydhcGktY2hlY2suemlwJywgJ2Zvby1wZXJmb3JtYW5jZS5qYXInXSxcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JpbmdBcnRpZmFjdHM6IHsgW2RpcmVjdG9yeTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuZXhwb3J0IGVudW0gUGlwZWxpbmVUeXBlIHtcblxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay4gQmUgYXdhcmU6IFRoZSBwcm92aWRlZCBzZXJ2aWNlIHdvbid0IGhhdmUgYWNjZXNzIHRvIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRSA9ICdTVEFOREFSRF9HUkFETEUnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjayB3aXRoIGFkZGl0aW9uYWwgc3RlcHMgbmVlZGVkIHRvIGFjY2VzcyBLYWZrYS5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZvciBhIGdyYWRsZSBwcm9qZWN0LiBUaGlzIGJ1aWxkc3BlYy55YW1sIGlzIHVzZWQgZm9yIGJvdGggdGhlIG1haW4gYW5kXG4gICAqIGJyYW5jaCBwaXBlbGluZSBhbmQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzdGVwc1xuICAgKiAtIGJ1aWxkIGFuZCB0ZXN0IG9mIHRoZSBhcnRpZmFjdCB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjbGVhbiBidWlsZFwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBsaWNlbnNlLWNoZWNrIGFuZCB1cGxvYWQgb2YgbGljZW5zZS1jaGVjay1maWxlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNoZWNrTGljZW5zZXNcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gY3JlYXRlIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgdG8gbWFrZSBUTFMgY29tbXVuaWNhdGlvbiBwb3NzaWJsZSwgZS5nLiB3aXRoIGEgbG9hZGJhbGFuY2VyLlxuICAgKiAtIHJlcXVlc3QgYSBjZXJ0aWZpY2F0ZSB0byBhdXRoZW50aWNhdGUgYWdhaW5zdCBLYWZrYSB2aWEgbXV0dWFsIFRMU1xuICAgKiAtIGJ1aWxkIHRoZSBjb250YWluZXIgaW1hZ2UgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgamliQnVpbGRUYXJcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqL1xuICBTVEFOREFSRF9HUkFETEVfS0FGS0EgPSAnU1RBTkRBUkRfR1JBRExFX0tBRktBJyxcbiAgLyoqXG4gICAqIFNlbGYtbXV0YXRpbmcgY29kZXBpcGVsaW5lIGRlcGxveWluZyB0aGUgcHJvdmlkZWQgQXBwU3RhY2suXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCB0byBzeW50aGVzaXplIHRoZSBBcHBTdGFjay5cbiAgICogTm8gYnJhbmNoIG9yIHZ1bG5lcmFiaWxpdHkgcGlwZWxpbmUgaXMgY3JlYXRlZC5cbiAgICovXG4gIFNUQU5EQVJEX0lORlJBU1RSVUNUVVJFID0gJ1NUQU5EQVJEX0lORlJBU1RSVUNUVVJFJyxcbn1cblxuLyoqXG4gKiBAcGFyYW0gcGFydGlhbEJ1aWxkU3BlY1BhdGggUGF0aCB0byBhIGN1c3RvbSBidWlsZC1zcGVjIGZpbGUgdG8gdXNlIGZvciB0aGUgbWFpbiBhbmQgYnJhbmNoIHBpcGVsaW5lLlxuICogQSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmaXR0aW5nIHRoZSBwaXBlbGluZVR5cGUgaXMgdXNlZCBpZiBub3QgcHJvdmlkZWQuXG4gKiBAcGFyYW0gYnVpbGRFbnZpcm9ubWVudCBDdXN0b20gQ29kZUJ1aWxkIGJ1aWxkIGVudmlyb25tZW50IG92ZXJyaWRpbmcgdGhlIHJpby1zcGVjaWZpYyBkZWZhdWx0cy4gVGhlIGRlZmF1bHRzIGFyZTpcbiAqICAgICAgICAgIGJ1aWxkSW1hZ2U6IEFNQVpPTl9MSU5VWF8yXzVcbiAqICAgICAgICAgIGNvbXB1dGVUeXBlOiBMQVJHRVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZE9wdGlvbnMge1xuICByZWFkb25seSBwYXJ0aWFsQnVpbGRTcGVjUGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRFbnZpcm9ubWVudD86IEJ1aWxkRW52aXJvbm1lbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQaXBlbGluZVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tYWluQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoQ29kZUJ1aWxkUHJvamVjdDogQ29kZUJ1aWxkU3RlcCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnVja2V0OiBJQnVja2V0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZUJ1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0TWFzdGVyVHJpZ2dlckZpbGU6IENvZGVQaXBlbGluZVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRCcmFuY2hUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3NzTGljZW5zZXNCdWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hY2NvdW50TmFtZVBhcmFtZXRlcjogSVN0cmluZ1BhcmFtZXRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbmlzdERhdGFNaXJyb3JVcmw6IElTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgLy8gcG9wdWxhdGUgZXh0ZXJuYWwgcGFyYW1ldGVyc1xuICAgIHRoaXMuX2J1Y2tldCA9IHMzLkJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnVHJpZ2dlckJ1Y2tldCcsIEZuLmltcG9ydFZhbHVlKCdiaXRidWNrZXQtaW50ZWdyYXRpb24tczMtYnVja2V0JykpO1xuICAgIHRoaXMuX2NhY2hlQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQ2FjaGVCdWNrZXQnLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDMwKSxcbiAgICAgICAgICBhYm9ydEluY29tcGxldGVNdWx0aXBhcnRVcGxvYWRBZnRlcjogRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5faG9zdGVkWm9uZSA9IHJpby5SaW9MYW5kaW5nWm9uZS5nZXREZWZhdWx0SG9zdGVkWm9uZSh0aGlzKTtcbiAgICB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlID0gcGlwZWxpbmVzLkNvZGVQaXBlbGluZVNvdXJjZS5zMyh0aGlzLl9idWNrZXQsIGAke3Byb3BzLnNlcnZpY2VOYW1lfS90cmlnZ2VyLyR7cmlvLlRyaWdnZXJLZXkuTUFTVEVSX1JFUE99YCwgeyB0cmlnZ2VyOiBjb2RlcGlwZWxpbmVfYWN0aW9ucy5TM1RyaWdnZXIuRVZFTlRTIH0pO1xuICAgIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUgPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lU291cmNlLnMzKHRoaXMuX2J1Y2tldCwgYCR7cHJvcHMuc2VydmljZU5hbWV9L3RyaWdnZXIvJHtyaW8uVHJpZ2dlcktleS5CUkFOQ0hfUkVQT31gLCB7IHRyaWdnZXI6IGNvZGVwaXBlbGluZV9hY3Rpb25zLlMzVHJpZ2dlci5FVkVOVFMgfSk7XG5cbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ09zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyJywgeyBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9vc3MtbGljZW5zZXMvYnVja2V0LW5hbWUnIH0pO1xuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdPc3NMaWNlbnNlc0J1Y2tldCcsIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyLnN0cmluZ1ZhbHVlKTtcbiAgICB0aGlzLl9zZXJ2aWNlS2V5c3RvcmVQYXNzd29yZCA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVNlY3VyZVN0cmluZ1BhcmFtZXRlckF0dHJpYnV0ZXModGhpcywgJ0tleXN0b3JlUGFzc3dvcmQnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiBgL2NvbmZpZy8ke3Byb3BzLnNlcnZpY2VOYW1lfS9zZXJ2aWNlLWtleXN0b3JlLXBhc3N3b3JkYCxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdBY2NvdW50TmFtZVBhcmFtZXRlcicsICcvY29uZmlnL2FjY291bnQvbmFtZScpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU2VjdXJlU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnTmlzdERhdGFNaXJyb3JVcmwnLCB7XG4gICAgICBwYXJhbWV0ZXJOYW1lOiAnL2NvbmZpZy9uaXN0LWRhdGEtbWlycm9yL3VybCcsXG4gICAgICB2ZXJzaW9uOiAxLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QgPSB0aGlzLmNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QoJ01haW5CdWlsZCcsIHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICB0aGlzLmFkZE1haW5QaXBlbGluZShwcm9wcywgdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3QpO1xuXG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSAhPT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFKSB7XG4gICAgICB0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID0gdGhpcy5jcmVhdGVSaW9Db2RlQnVpbGRQcm9qZWN0KCdCcmFuY2hCdWlsZCcsIHRoaXMuX2lucHV0QnJhbmNoVHJpZ2dlckZpbGUsIHByb3BzKTtcbiAgICAgIHRoaXMuYWRkQnJhbmNoUGlwZWxpbmUocHJvcHMsIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QpO1xuICAgICAgdGhpcy5hZGRWdWxuZXJhYmlsaXR5UGlwZWxpbmUocHJvcHMpO1xuICAgIH1cblxuICAgIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgICBuZXcgQ2xhaWRvbWV0ZXIodGhpcywgJ0NsYWlkb21ldGVyJywge1xuICAgICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgICBwYWNrYWdlTmFtZSxcbiAgICAgIGZlYXR1cmUsXG4gICAgICB2ZXJzaW9uOiAnMC4wLjE5JyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFpbkNvZGVidWlsZFByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21haW5Db2RlQnVpbGRQcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIGdldCBicmFuY2hDb2RlQnVpbGRQcm9qZWN0KCk6IENvZGVCdWlsZFN0ZXAge1xuICAgIGlmICh0aGlzLl9icmFuY2hDb2RlQnVpbGRQcm9qZWN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1RoZSBwaXBlbGluZSB0eXBlIHlvdSBoYXZlIHNlbGVjdGVkIGRvZXMgbm90IHN1cHBvcnQgYSBicmFuY2ggY29kZWJ1aWxkIHByb2plY3QnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3Q7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QobmFtZTogc3RyaW5nLCB0cmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgcmV0dXJuIG5ldyBSaW9Db2RlQnVpbGRQcm9qZWN0KHRoaXMsIG5hbWUsIHtcbiAgICAgIGlucHV0OiB0cmlnZ2VyRmlsZSxcbiAgICAgIGNka091dERpcmVjdG9yeTogJ2luZnJhc3RydWN0dXJlL2Nkay5vdXQnLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocHJvcHM/LmNvZGVCdWlsZE9wdGlvbnM/LnBhcnRpYWxCdWlsZFNwZWNQYXRoIHx8XG4gICAgICAgIHRoaXMucmVzb2x2ZURlZmF1bHRCdWlsZFNwZWMocHJvcHMucGlwZWxpbmVUeXBlKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYWluUGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcywgbWFpbkJ1aWxkOiBDb2RlQnVpbGRTdGVwKSB7XG5cbiAgICBjb25zdCBwaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIGFydGlmYWN0QnVja2V0OiB0aGlzLl9jYWNoZUJ1Y2tldCxcbiAgICAgIHN5bnRoOiBtYWluQnVpbGQsXG4gICAgfSk7XG4gICAgVGFncy5vZihwaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ2J1aWxkJyk7XG5cbiAgICAvLyBDbG91ZEFzc2VtYmx5QXJ0aWZhY3RzIG11c3QgYmUgc21hbGxlciB0aGFuIDI1Nk1CLiBEdWUgdG8gdGhlIGdyYWRsZSBhcnRpZmFjdCB3ZSBhcmUgZXhjZWVkaW5nIHRoaXMgbGltaXQgYW5kIHBpcGVsaW5lIGZhaWxzIGluIGRlcGxveW1lbnQgc3RlcC5cbiAgICAvLyBJc3N1ZSBpcyBrbm93biBhbmQgbm90IGZpeGVkIGZvciBhbHJlYWR5IHNvbWUgeWVhcnMuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85OTE3XG4gICAgLy8gRGlydHkgZml4OiBBc3NldHMgYXJlIGFscmVhZHkgdXBsb2FkZWQgYW5kIHRodXMgbm90IG5lZWRlZC4gUmVtb3ZlIHRoZW0gZnJvbSBwaXBlbGluZSBhcnRpZmFjdC5cbiAgICBjb25zdCBzdHJpcEFzc2V0c1N0ZXAgPSBuZXcgQ29kZUJ1aWxkU3RlcChcbiAgICAgICdTdHJpcEFzc2V0c0Zyb21Bc3NlbWJseScsIHtcbiAgICAgICAgaW5wdXQ6IHBpcGVsaW5lLmNsb3VkQXNzZW1ibHlGaWxlU2V0LFxuICAgICAgICBjb21tYW5kczogW1xuICAgICAgICAgICdTM19QQVRIPSR7Q09ERUJVSUxEX1NPVVJDRV9WRVJTSU9OI1wiYXJuOmF3czpzMzo6OlwifScsXG4gICAgICAgICAgJ1pJUF9BUkNISVZFPSQoYmFzZW5hbWUgJFMzX1BBVEgpJyxcbiAgICAgICAgICAncm0gLXJmdiBhc3NldC4qJyxcbiAgICAgICAgICAnemlwIC1yIC1xIC1BICRaSVBfQVJDSElWRSAqJyxcbiAgICAgICAgICAnYXdzIHMzIGNwICRaSVBfQVJDSElWRSBzMzovLyRTM19QQVRIJyxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHBpcGVsaW5lLmFkZFdhdmUoJ0JlZm9yZURlcGxveScsIHsgcHJlOiBbc3RyaXBBc3NldHNTdGVwXSB9KTtcblxuICAgIGNvbnN0IGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCA9IHRoaXMuY3JlYXRlQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKG1haW5CdWlsZCwgcHJvcHMpO1xuXG4gICAgcGlwZWxpbmUuYWRkU3RhZ2UobmV3IEFwcGxpY2F0aW9uKHRoaXMsICdEZXBsb3lBcHBsaWNhdGlvblN0YWNrcycsIHtcbiAgICAgIGFwcFN0YWNrRmFjdG9yeTogcHJvcHMuYXBwU3RhY2tGYWN0b3J5LFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbjogcHJvY2Vzcy5lbnYuUElQRUxJTkVfRVhFQ1VUSU9OX0lEID8/ICdQSVBFTElORV9FWEVDVVRJT05fSUQgbm90IHNldCcsXG4gICAgfSksIHtcbiAgICAgIHByZTogcHJvcHMuc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyA/IFtcbiAgICAgICAgbmV3IHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcCh0aGlzLCAnRGVwbG95U2VjcmV0cycsIHtcbiAgICAgICAgICAuLi5wcm9wcy5zZWNyZXRzRGVwbG95U3RlcFByb3BzLFxuICAgICAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgICB9KSxcbiAgICAgIF0gOiB1bmRlZmluZWQsXG4gICAgICBwb3N0OiBjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAgPyBbY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwXSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBwaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG5cbiAgICBpZiAoY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKSB7XG4gICAgICBjb25zdCBtb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0ID0gQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdNb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0JywgYG1vbml0b3JpbmctdGVzdHN1aXRlLXJ1bm5lci0ke3RoaXMuYWNjb3VudH1gKTtcbiAgICAgIG1vbml0b3JpbmdUZXN0c3VpdGVSdW5uZXJCdWNrZXQuZ3JhbnRXcml0ZShjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXApO1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1BpcGVsaW5lU2NoZWR1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24ocHJvcHMucGlwZWxpbmVTY2hlZHVsZXM/Lm1haW5QaXBlbGluZSB8fCAnY3JvbigwIDkgPyAqIDIjMSAqKScpLFxuICAgIH0pO1xuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZShwaXBlbGluZS5waXBlbGluZSkpO1xuXG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUobWFpbkJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChtYWluQnVpbGQpO1xuICAgIH1cbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlci5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKG1haW5CdWlsZCwgJ0thZmthSW50ZWdyYXRpb25Qb2xpY3knKTtcbiAgICB9XG4gICAgcGlwZWxpbmUucGlwZWxpbmUuYXJ0aWZhY3RCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoc3RyaXBBc3NldHNTdGVwLnByb2plY3QpO1xuXG4gICAgbmV3IERhdGFkb2dQaXBlbGluZUVycm9yQWxlcnQodGhpcywgJ0RhdGFkb2dQaXBlbGluZUVycm9yTW9uaXRvcicsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHBpcGVsaW5lTmFtZTogdGhpcy5yZW5hbWVQaXBlbGluZVRvTG93ZXJDYXNlKHBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRCcmFuY2hQaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzLCBicmFuY2hCdWlsZDogQ29kZUJ1aWxkU3RlcCkge1xuXG4gICAgY29uc3QgYnJhbmNoUGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnQnJhbmNoUGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogYnJhbmNoQnVpbGQsXG4gICAgICBzZWxmTXV0YXRpb246IGZhbHNlLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YoYnJhbmNoUGlwZWxpbmUpLmFkZCgncGlwZWxpbmVfdHlwZScsICdicmFuY2gnKTtcbiAgICBicmFuY2hQaXBlbGluZS5hZGRXYXZlKCdCcmFuY2hCdWlsZCcpLmFkZFBvc3QoYnJhbmNoQnVpbGQpO1xuICAgIGJyYW5jaFBpcGVsaW5lLmJ1aWxkUGlwZWxpbmUoKTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0LmdyYW50UmVhZFdyaXRlKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldFBhcmFtZXRlci5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlID09PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBKSB7XG4gICAgICB0aGlzLmdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJyYW5jaEJ1aWxkLCAnQnJhbmNoS2Fma2FJbnRlZ3JhdGlvblBvbGljeScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkVnVsbmVyYWJpbGl0eVBpcGVsaW5lKHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5QnVpbGQgPSBuZXcgUmlvQ29kZUJ1aWxkUHJvamVjdCh0aGlzLCAnVnVsbmVyYWJpbGl0eUNoZWNrcycsIHtcbiAgICAgIGlucHV0OiB0aGlzLl9pbnB1dE1hc3RlclRyaWdnZXJGaWxlLFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogdGhpcy5sb2FkQnVpbGRTcGVjRnJvbUZpbGUocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjLXZ1bG5lcmFiaWxpdHktY2hlY2tzLnlhbWwnKSksXG4gICAgICBidWlsZEVudmlyb25tZW50OiBwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8uYnVpbGRFbnZpcm9ubWVudCxcbiAgICAgIGhvc3RlZFpvbmVOYW1lOiB0aGlzLl9ob3N0ZWRab25lLnpvbmVOYW1lLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgY2FjaGVCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHZ1bG5lcmFiaWxpdHlQaXBlbGluZSA9IG5ldyBwaXBlbGluZXMuQ29kZVBpcGVsaW5lKHRoaXMsICdWdWxuZXJhYmlsaXR5UGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgICBzeW50aDogdnVsbmVyYWJpbGl0eUJ1aWxkLFxuICAgICAgc2VsZk11dGF0aW9uOiBmYWxzZSxcbiAgICB9KTtcbiAgICBUYWdzLm9mKHZ1bG5lcmFiaWxpdHlQaXBlbGluZSkuYWRkKCdwaXBlbGluZV90eXBlJywgJ3Z1bG5lcmFiaWxpdHknKTtcblxuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5hZGRXYXZlKCdWdWxuZXJhYmlsaXR5Q2hlY2tzJykuYWRkUG9zdCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuICAgIHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG4gICAgdGhpcy5fbmlzdERhdGFNaXJyb3JVcmwuZ3JhbnRSZWFkKHZ1bG5lcmFiaWxpdHlCdWlsZCk7XG5cbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5UnVsZSA9IG5ldyBldmVudHMuUnVsZSh0aGlzLCAnVnVsbmVyYWJpbGl0eVBpcGVsaW5lU2NoZWR1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLmV4cHJlc3Npb24ocHJvcHMucGlwZWxpbmVTY2hlZHVsZXM/LnZ1bG5lcmFiaWxpdHlQaXBlbGluZSB8fCAnY3JvbigwIDUgPyAqIE1PTi1GUkkgKiknKSxcbiAgICB9KTtcbiAgICB2dWxuZXJhYmlsaXR5UnVsZS5hZGRUYXJnZXQobmV3IHRhcmdldHMuQ29kZVBpcGVsaW5lKHZ1bG5lcmFiaWxpdHlQaXBlbGluZS5waXBlbGluZSkpO1xuXG4gICAgaWYgKHByb3BzLmRhdGFkb2dBbGVydFR5cGUgPT09ICdvcHNnZW5pZScpIHtcbiAgICAgIHRocm93IEVycm9yKCdUaGUgT3BzR2VuaWUgYWxlcnRUeXBlIGlzIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4gUGxlYXNlIHVzZSB0aGUgdnVsbmVyYWJpbGl0eU5vdGlmaWNhdGlvbiBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICAgIH1cbiAgICBuZXcgRGF0YURvZ1BpcGVsaW5lRXJyb3JBbGVydEZvclZ1bG5lcmFiaWxpdHlDaGVja3ModGhpcywgJ0RhdGFEb2dQaXBlbGluZUVycm9yRm9yVnVsbmVyYWJpbGl0eUNoZWNrc01vbml0b3InLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBwaXBlbGluZU5hbWU6IHRoaXMucmVuYW1lUGlwZWxpbmVUb0xvd2VyQ2FzZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUpLFxuICAgICAgYWNjb3VudElkOiB0aGlzLmFjY291bnQsXG4gICAgICBub3RpZmljYXRpb246IHByb3BzLnZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcChtYWluQnVpbGQ6IENvZGVCdWlsZFN0ZXAsIHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpOiBDb2RlQnVpbGRTdGVwIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMubW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcykge1xuICAgICAgY29uc3QgbW9uaXRvcmluZ0FydGlmYWN0cyA9IE9iamVjdC5rZXlzKHByb3BzLm1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHMubW9uaXRvcmluZ0FydGlmYWN0cykubWFwKChrZXkpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gbWFpbkJ1aWxkLmFkZE91dHB1dERpcmVjdG9yeShrZXkpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlucHV0OiBvdXRwdXQsXG4gICAgICAgICAgZmlsZXM6IHByb3BzLm1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHMhLm1vbml0b3JpbmdBcnRpZmFjdHNba2V5XSxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAodGhpcywgJ0RlcGxveUNhcGFiaWxpdHlNb25pdG9yaW5nJywge1xuICAgICAgICBtb25pdG9yaW5nQXJ0aWZhY3RzOiBtb25pdG9yaW5nQXJ0aWZhY3RzLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRGVmYXVsdEJ1aWxkU3BlYyhwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZSkge1xuICAgIHN3aXRjaCAocGlwZWxpbmVUeXBlKSB7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9HUkFETEU6XG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnYnVpbGRzcGVjcy9idWlsZHNwZWMueWFtbCcpO1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFX0tBRktBOlxuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjX2thZmthLnlhbWwnKTtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFOlxuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjX2luZnJhc3RydWN0dXJlLnlhbWwnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdyYW50UGVybWlzc2lvbnNGb3JLYWZrYUludGVncmF0aW9uKGJ1aWxkUHJvamVjdDogUmlvQ29kZUJ1aWxkUHJvamVjdCwgcG9saWN5SWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGJ1aWxkUHJvamVjdFJvbGUgPSBidWlsZFByb2plY3QucHJvamVjdC5yb2xlO1xuICAgIGlmIChidWlsZFByb2plY3RSb2xlKSB7XG4gICAgICBidWlsZFByb2plY3RSb2xlLmFkZE1hbmFnZWRQb2xpY3koXG4gICAgICAgIE1hbmFnZWRQb2xpY3kuZnJvbU1hbmFnZWRQb2xpY3lBcm4odGhpcyxcbiAgICAgICAgICBwb2xpY3lJZCxcbiAgICAgICAgICBGbi5pbXBvcnRWYWx1ZSgna2Fma2EtaW50ZWdyYXRpb24tcG9saWN5LWFybicpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoYENvdWxkIG5vdCBhZGQgbWFuYWdlZCBwb2xpY3kgZm9yIGthZmthLWludGVncmF0aW9uIHRvIENvZGVCdWlsZCBwcm9qZWN0IG9mICR7YnVpbGRQcm9qZWN0LmlkfSBkdWUgdG8gbWlzc2luZyByb2xlLmApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEJ1aWxkU3BlY0Zyb21GaWxlKGJ1aWxkU3BlY1BhdGg6IHN0cmluZyk6IEJ1aWxkU3BlYyB7XG4gICAgcmV0dXJuIEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHlhbWwubG9hZChmcy5yZWFkRmlsZVN5bmMoYnVpbGRTcGVjUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KSkgYXMgT2JqZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuYW1lUGlwZWxpbmVUb0xvd2VyQ2FzZShwaXBlbGluZTogcGlwZWxpbmVzLkNvZGVQaXBlbGluZSk6IFJlZmVyZW5jZSB7XG4gICAgY29uc3QgdXBwZXJUb0xvd2VyQ3IgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsIGAke3BpcGVsaW5lLm5vZGUuaWR9LVVwcGVyVG9Mb3dlcmAsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6VXBwZXJUb0xvd2VyJyxcbiAgICAgIHNlcnZpY2VUb2tlbjogVXBwZXJUb0xvd2VyLmdldE9yQ3JlYXRlKHRoaXMpLnByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgVXBwZXI6IHBpcGVsaW5lLnBpcGVsaW5lLnBpcGVsaW5lTmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHVwcGVyVG9Mb3dlckNyLmdldEF0dCgnTG93ZXInKTtcbiAgfVxufVxuIl19
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUvcGlwZWxpbmUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyw2Q0FBOEY7QUFDOUYsNkRBQTRHO0FBQzVHLDZFQUE2RTtBQUM3RSxpREFBaUQ7QUFDakQsMERBQTBEO0FBQzFELGlEQUFvRDtBQUVwRCx5Q0FBeUM7QUFDekMsK0NBQXFEO0FBQ3JELDJDQUEyQztBQUUzQyxtREFBbUQ7QUFDbkQscURBQTBFO0FBRTFFLGdDQUFnQztBQUNoQywyREFBa0Q7QUFDbEQsbURBQXNEO0FBQ3RELHlEQUFnSDtBQUNoSCxxRUFBNkU7QUFHN0Usc0NBQXNDO0FBQ3RDLDBDQUFpRTtBQUNqRSxnREFBaUQ7QUFzSWpELElBQVksWUFzQ1g7QUF0Q0QsV0FBWSxZQUFZO0lBRXRCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1EQUFtQyxDQUFBO0lBQ25DOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7Ozs7T0FLRztJQUNILG1FQUFtRCxDQUFBO0FBQ3JELENBQUMsRUF0Q1csWUFBWSw0QkFBWixZQUFZLFFBc0N2QjtBQWNELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBY3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxnQkFBRSxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFB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QyxFQUFFLHVCQUF1QixDQUFDLENBQUM7U0FDbkk7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsYUFBcUI7UUFDakQsT0FBTyx5QkFBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQVcsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxRQUFnQztRQUNoRSxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsRUFBRTtZQUN0RixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLFlBQVksRUFBRSx1QkFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWTtZQUNsRSxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWTthQUN0QztTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQWpSSCxzQ0FrUkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IER1cmF0aW9uLCBGbiwgUmVmZXJlbmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjaywgU3RhY2tQcm9wcywgVGFncyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEJ1aWxkRW52aXJvbm1lbnQsIEJ1aWxkU3BlYywgQ29tcHV0ZVR5cGUsIExpbnV4TGFtYmRhQnVpbGRJbWFnZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlYnVpbGQnO1xuaW1wb3J0ICogYXMgY29kZXBpcGVsaW5lX2FjdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCB7IE1hbmFnZWRQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElIb3N0ZWRab25lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IEJ1Y2tldCwgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzc20gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgeyBJU3RyaW5nUGFyYW1ldGVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNzbSc7XG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvZGVCdWlsZFN0ZXAsIENvZGVQaXBlbGluZVNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL3BpcGVsaW5lcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4vYXBwbGljYXRpb24tc3RhZ2UnO1xuaW1wb3J0IHsgUmlvQ29kZUJ1aWxkUHJvamVjdCB9IGZyb20gJy4vYnVpbGQtcHJvamVjdCc7XG5pbXBvcnQgeyBEYXRhZG9nUGlwZWxpbmVFcnJvckFsZXJ0LCBEYXRhRG9nUGlwZWxpbmVFcnJvckFsZXJ0Rm9yVnVsbmVyYWJpbGl0eUNoZWNrcyB9IGZyb20gJy4vZGF0YWRvZy1tb25pdG9ycyc7XG5pbXBvcnQgeyBSaW9DYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAgfSBmcm9tICcuL21vbml0b3JpbmctZGVwbG95LXN0ZXAnO1xuaW1wb3J0IHsgRGF0YWRvZ0FsZXJ0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2cnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgKiBhcyByaW8gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHsgQ2xhaWRvbWV0ZXIsIENsYWlkb21ldGVyUHJvZHVjdCB9IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7IFVwcGVyVG9Mb3dlciB9IGZyb20gJy4uLy4uLy4uL3dhdGNoZnVsJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU2NoZWR1bGVzUHJvcHMge1xuICByZWFkb25seSBtYWluUGlwZWxpbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZ1bG5lcmFiaWxpdHlQaXBlbGluZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VydmljZVxuICAgKiAtIFRoaXMgaGFzIHRvIGJlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIHJlcG9zaXRvcnkgYXMgdGhlIHMzIHRyaWdnZXIgZmlsZSBjcmVhdGVkIGJ5IHRoZSBiaXRidWNrZXQtaW50ZWdyYXRpb24gdXNlcyB0aGlzIGFzIGEgcHJlZml4XG4gICAqIC0gVGhlIHNlcnZpY2VOYW1lIGlzIGF2YWlsYWJsZSBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBTRVJWSUNFX05BTUUgaW4gdGhlIENvZGVCdWlsZFN0ZXBcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBBcHBTdGFja1Byb3BzIGluIHRoZSBhcHBTdGFja0ZhY3RvcnlcbiAgICogLSBUaGUgc2VydmljZU5hbWUgaXMgYXZhaWxhYmxlIGFzIHN0YWNrTmFtZSBwcm9wZXJ0eSBpbiB0aGUgQXBwU3RhY2tQcm9wcyBpbiB0aGUgYXBwU3RhY2tGYWN0b3J5LiBJLmUuIHRoZSBzdGFjayBpcyBuYW1lZCBhZnRlciB0aGUgc2VydmljZVxuICAgKiAtIFRoZSBzZXJ2aWNlTmFtZSBpcyBoYW5kZWQgb3ZlciB0byBhbGwgRGF0YWRvZyBtb25pdG9yc1xuICAgKiAtIFJJTyBjb252ZW50aW9uIGlzIHRoYXQgdXBsb2FkZWQgbGljZW5zZS1jaGVjay1maWxlcyBhcmUgbmFtZWQgYWZ0ZXIgdGhlIHNlcnZpY2UsIGkuZS4gc2VydmljZU5hbWUudHh0XG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlciBmb3IgYXBwU3RhY2sgdG8gYmUgZGVwbG95ZWQuXG4gICAqXG4gICAqIFRoaXMgYWN0cyBhcyBhIHdyYXBwZXIgZm9yIGFsbCByZXNvdXJjZXMgeW91IHdhbnQgdG8gZGVwbG95IHZpYSB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICByZWFkb25seSBhcHBTdGFja0ZhY3Rvcnk6IElBcHBTdGFja0ZhY3Rvcnk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgd2hpY2gga2luZCBvZiBwaXBlbGluZSBpcyBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lVHlwZTogUGlwZWxpbmVUeXBlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGhvdyBvZnRlbiB0aGUgcGlwZWxpbmUgaXMgdHJpZ2dlcmVkIGF1dG9tYXRpY2FsbHkuIElzIGRlZmluZWQgdmlhIGEgY3JvbiBleHByZXNzaW9uLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L2V2ZW50cy9TY2hlZHVsZWRFdmVudHMuaHRtbFxuICAgKlxuICAgKiBEZWZhdWx0IHZhbHVlczpcbiAgICogLSBtYWluIHBpcGVsaW5lOiBjcm9uKDAgOSA/ICogMiMxICopXG4gICAqIC0gdnVsbmVyYWJpbGl0eSBwaXBlbGluZTogY3JvbigwIDUgPyAqIE1PTi1GUkkgKilcbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lU2NoZWR1bGVzPzogUGlwZWxpbmVTY2hlZHVsZXNQcm9wcztcblxuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHNlY3JldHMgZmlsZSBjb250YWluaW5nIGVuY3J5cHRlZCBzZWNyZXRzLlxuICAgKlxuICAgKiBUaGUgUmlvU2VjcmV0c0RlcGxveVN0ZXAgaXMgYWRkZWQgcHJpb3IgdG8gZGVwbG95bWVudCBvZiB0aGUgQXBwU3RhY2sgaWYgYSBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKlxuICAgKiBObyBzZWNyZXRzIGFyZSBkZXBsb3llZCBpZiBubyBwYXRoIGlzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0c0RlcGxveVN0ZXBQcm9wcz86IFBpcGVsaW5lU3RhY2tSaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzO1xuXG4gIC8qKlxuICAgKiBDb2RlQnVpbGQgb3B0aW9ucyBvdmVycmlkaW5nIHRoZSByaW8tc3BlY2lmaWMgZGVmYXVsdHMuXG4gICAqL1xuICByZWFkb25seSBjb2RlQnVpbGRPcHRpb25zPzogQ29kZUJ1aWxkT3B0aW9ucztcbiAgLyoqXG4gICAqIElmIHByZXNlbnQsIHRoZSBjYXBhYmlsaXR5IG1vbml0b3JpbmcgZGVwbG95IHN0ZXAgaXMgYWRkZWQgdG8gdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9uaXRvcmluZ0RlcGxveVN0ZXBQcm9wcz86IFBpcGVsaW5lU3RhY2tSaW9Nb25pdG9yaW5nRGVwbG95U3RlcFByb3BzO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSB0aGUgYHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb25gIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIElmIGBvcHNnZW5pZWAgaXMgc3BlY2lmaWVkLCBhbiBFeGNlcHRpb24gaXMgdGhyb3duLCBhcyB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dBbGVydFR5cGU/OiBEYXRhZG9nQWxlcnRUeXBlO1xuICAvKipcbiAgICogTm90aWZpY2F0aW9uIHR5cGUgZm9yIHRoZSBhdXRvLWdlbmVyYXRlZCB2dWxuZXJhYmlsaXR5IHBpcGVsaW5lIG1vbml0b3IuIERlZmF1bHRzIHRvIHNsYWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgdnVsbmVyYWJpbGl0eU5vdGlmaWNhdGlvbj86IElOb3RpZmljYXRpb247XG59XG5cbi8qKlxuICogUHJvdmlkZXIgaW50ZXJmYWNlIHRvIGNyZWF0ZSB0aGUgQXBwU3RhY2sgd2l0aGluIHRoZSBzcGVjaWZpYyBzY29wZVxuICpcbiAqIFNpbXBseSBwbGFjZSB0aGUgQXBwU3RhY2sgY3JlYXRpb24gaW50byB0aGUgY3JlYXRlLW1ldGhvZDpcbiAqIEBleGFtcGxlXG4gKlxuICogLy8gVXNlIGUuZy4gd2l0aGluIEFwcGxpY2F0aW9uUHJvcHMgYXMgSlNPTk9iamVjdDpcbiAqIHsgY3JlYXRlOiAoY29uc3RydWN0LCBwcm9wcykgPT4gbmV3IFN0YWNrKGNvbnN0cnVjdCwgJ0FwcFN0YWNrJywgcHJvcHMpIH1cbiAqXG4gKiAvLyBvciBzaW1wbHkgYXMgY2xhc3MgaW50ZXJmYWNlIHdpdGhpbiB5b3VyIHN0YWNrIGltcGxlbWVudGF0aW9uOlxuICogY2xhc3MgUGlwZWxpbmVTdGFnZSBleHRlbmRzIFN0YWdlIGltcGxlbWVudHMgSUFwcFN0YWNrRmFjdG9yeSB7XG4gKiAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFnZVByb3BzKSB7XG4gKiAgICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gKiAgICAgLy8geW91ciBzdGFnZSBkZWZpbml0aW9uXG4gKiAgIH1cbiAqXG4gKiAgIGNyZWF0ZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQXBwU3RhY2tQcm9wcyk6IHZvaWQge1xuICogICAgIC8vIGFwcCBzdGFjayBpbml0aWF0aW9uIGdvZXMgaW4gaGVyZVxuICogICB9XG4gKiB9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcFN0YWNrRmFjdG9yeSB7XG4gIC8qKlxuICAgKiBGYWN0b3J5IG1ldGhvZCwgYmVpbmcgaW52b2tlZCB3aXRoIHRoZSBzcGVjaWZpYyBzY29wZSBkdXJpbmcgcGlwZWxpbmUgaW5zdGFudGlhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHBhcmVudCBjb25zdHJ1Y3QgZm9yIHRoZSBhcHAgc3RhY2tcbiAgICogQHBhcmFtIHByb3BzIHRoZSBhcHAgc3RhY2tzIHByb3BlcnRpZXNcbiAgICovXG4gIGNyZWF0ZShzY29wZTogQ29uc3RydWN0LCBwcm9wczogQXBwU3RhY2tQcm9wcyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2VsZWN0ZWQgcHJvcGVydGllcyBiZWluZyBoYW5kZWQgb3ZlciB0byBSaW9TZWNyZXRzRGVwbG95U3RlcC5cbiAqXG4gKiBAc2VlIHJpby5SaW9TZWNyZXRzRGVwbG95U3RlcFxuICogQHNlZSByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXBQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lU3RhY2tSaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzIHtcbiAgcmVhZG9ubHkgc2VjcmV0c0ZpbGVQYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTdGFja1Jpb01vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHMge1xuICAvKipcbiAgICogTWFwIHtkaXJlY3Rvcnk6IGZpbGVuYW1lc30gY29udGFpbmluZyAgLmphciBvciAuemlwIGZpbGVzIGNyZWF0ZWQgaW4gbWFpbiBidWlsZCBzdGVwIHRvIGJlIHVwbG9hZGVkIHRvIHRoZSBtb25pdG9yaW5nLXRlc3RzdWl0ZS1ydW5uZXIgYnVja2V0LCBlLmcuXG4gICAqIGBgYFxuICAgKiB7XG4gICAqICAnYXZhaWxhYmlsaXR5LW1vbml0b3JpbmcvYnVpbGQvbGlicyc6IFsnZm9vLWF2YWlsYWJpbGl0eS5qYXInXSxcbiAgICogICdwZXJmb3JtYW5jZS1tb25pdG9yaW5nL2J1aWxkL2xpYnMnOiBbJ2FwaS1jaGVjay56aXAnLCAnZm9vLXBlcmZvcm1hbmNlLmphciddLFxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcmVhZG9ubHkgbW9uaXRvcmluZ0FydGlmYWN0czogeyBbZGlyZWN0b3J5OiBzdHJpbmddOiBzdHJpbmdbXSB9O1xufVxuXG5leHBvcnQgZW51bSBQaXBlbGluZVR5cGUge1xuXG4gIC8qKlxuICAgKiBTZWxmLW11dGF0aW5nIGNvZGVwaXBlbGluZSBkZXBsb3lpbmcgdGhlIHByb3ZpZGVkIEFwcFN0YWNrLiBCZSBhd2FyZTogVGhlIHByb3ZpZGVkIHNlcnZpY2Ugd29uJ3QgaGF2ZSBhY2Nlc3MgdG8gS2Fma2EuXG4gICAqXG4gICAqIENvbWVzIHdpdGggYSBwcmUtZGVmaW5lZCBidWlsZHNwZWMueWFtbCBmb3IgYSBncmFkbGUgcHJvamVjdC4gVGhpcyBidWlsZHNwZWMueWFtbCBpcyB1c2VkIGZvciBib3RoIHRoZSBtYWluIGFuZFxuICAgKiBicmFuY2ggcGlwZWxpbmUgYW5kIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgc3RlcHNcbiAgICogLSBidWlsZCBhbmQgdGVzdCBvZiB0aGUgYXJ0aWZhY3QgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2xlYW4gYnVpbGRcIi5cbiAgICogPHA+IFRoaXMgZ3JhZGxlIGNvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCBieSB0aGUgZ3JhZGxlIHByb2plY3QuXG4gICAqIC0gbGljZW5zZS1jaGVjayBhbmQgdXBsb2FkIG9mIGxpY2Vuc2UtY2hlY2stZmlsZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBjaGVja0xpY2Vuc2VzXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGNyZWF0ZSBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlIHRvIG1ha2UgVExTIGNvbW11bmljYXRpb24gcG9zc2libGUsIGUuZy4gd2l0aCBhIGxvYWRiYWxhbmNlci5cbiAgICogLSBidWlsZCB0aGUgY29udGFpbmVyIGltYWdlIHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGppYkJ1aWxkVGFyXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKi9cbiAgU1RBTkRBUkRfR1JBRExFID0gJ1NUQU5EQVJEX0dSQURMRScsXG4gIC8qKlxuICAgKiBTZWxmLW11dGF0aW5nIGNvZGVwaXBlbGluZSBkZXBsb3lpbmcgdGhlIHByb3ZpZGVkIEFwcFN0YWNrIHdpdGggYWRkaXRpb25hbCBzdGVwcyBuZWVkZWQgdG8gYWNjZXNzIEthZmthLlxuICAgKlxuICAgKiBDb21lcyB3aXRoIGEgcHJlLWRlZmluZWQgYnVpbGRzcGVjLnlhbWwgZm9yIGEgZ3JhZGxlIHByb2plY3QuIFRoaXMgYnVpbGRzcGVjLnlhbWwgaXMgdXNlZCBmb3IgYm90aCB0aGUgbWFpbiBhbmRcbiAgICogYnJhbmNoIHBpcGVsaW5lIGFuZCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHN0ZXBzXG4gICAqIC0gYnVpbGQgYW5kIHRlc3Qgb2YgdGhlIGFydGlmYWN0IHZpYSBjb21tYW5kIFwiLi9ncmFkbGV3IGNsZWFuIGJ1aWxkXCIuXG4gICAqIDxwPiBUaGlzIGdyYWRsZSBjb21tYW5kIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIGdyYWRsZSBwcm9qZWN0LlxuICAgKiAtIGxpY2Vuc2UtY2hlY2sgYW5kIHVwbG9hZCBvZiBsaWNlbnNlLWNoZWNrLWZpbGUgdmlhIGNvbW1hbmQgXCIuL2dyYWRsZXcgY2hlY2tMaWNlbnNlc1wiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICogLSBjcmVhdGUgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB0byBtYWtlIFRMUyBjb21tdW5pY2F0aW9uIHBvc3NpYmxlLCBlLmcuIHdpdGggYSBsb2FkYmFsYW5jZXIuXG4gICAqIC0gcmVxdWVzdCBhIGNlcnRpZmljYXRlIHRvIGF1dGhlbnRpY2F0ZSBhZ2FpbnN0IEthZmthIHZpYSBtdXR1YWwgVExTXG4gICAqIC0gYnVpbGQgdGhlIGNvbnRhaW5lciBpbWFnZSB2aWEgY29tbWFuZCBcIi4vZ3JhZGxldyBqaWJCdWlsZFRhclwiLlxuICAgKiA8cD4gVGhpcyBncmFkbGUgY29tbWFuZCBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBncmFkbGUgcHJvamVjdC5cbiAgICovXG4gIFNUQU5EQVJEX0dSQURMRV9LQUZLQSA9ICdTVEFOREFSRF9HUkFETEVfS0FGS0EnLFxuICAvKipcbiAgICogU2VsZi1tdXRhdGluZyBjb2RlcGlwZWxpbmUgZGVwbG95aW5nIHRoZSBwcm92aWRlZCBBcHBTdGFjay5cbiAgICpcbiAgICogQ29tZXMgd2l0aCBhIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIHRvIHN5bnRoZXNpemUgdGhlIEFwcFN0YWNrLlxuICAgKiBObyBicmFuY2ggb3IgdnVsbmVyYWJpbGl0eSBwaXBlbGluZSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUgPSAnU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUnLFxufVxuXG4vKipcbiAqIEBwYXJhbSBwYXJ0aWFsQnVpbGRTcGVjUGF0aCBQYXRoIHRvIGEgY3VzdG9tIGJ1aWxkLXNwZWMgZmlsZSB0byB1c2UgZm9yIHRoZSBtYWluIGFuZCBicmFuY2ggcGlwZWxpbmUuXG4gKiBBIHByZS1kZWZpbmVkIGJ1aWxkc3BlYy55YW1sIGZpdHRpbmcgdGhlIHBpcGVsaW5lVHlwZSBpcyB1c2VkIGlmIG5vdCBwcm92aWRlZC5cbiAqIEBwYXJhbSBidWlsZEVudmlyb25tZW50IEN1c3RvbSBDb2RlQnVpbGQgYnVpbGQgZW52aXJvbm1lbnQgb3ZlcnJpZGluZyB0aGUgcmlvLXNwZWNpZmljIGRlZmF1bHRzLiBUaGUgZGVmYXVsdHMgYXJlOlxuICogICAgICAgICAgYnVpbGRJbWFnZTogQU1BWk9OX0xJTlVYXzJfNVxuICogICAgICAgICAgY29tcHV0ZVR5cGU6IExBUkdFXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJ1aWxkT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHBhcnRpYWxCdWlsZFNwZWNQYXRoPzogc3RyaW5nO1xuICByZWFkb25seSBidWlsZEVudmlyb25tZW50PzogQnVpbGRFbnZpcm9ubWVudDtcbn1cblxuZXhwb3J0IGNsYXNzIFBpcGVsaW5lU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21haW5Db2RlQnVpbGRQcm9qZWN0OiBDb2RlQnVpbGRTdGVwO1xuICBwcml2YXRlIHJlYWRvbmx5IF9icmFuY2hDb2RlQnVpbGRQcm9qZWN0OiBDb2RlQnVpbGRTdGVwIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9idWNrZXQ6IElCdWNrZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NhY2hlQnVja2V0OiBJQnVja2V0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9ob3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZTogQ29kZVBpcGVsaW5lU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbnB1dEJyYW5jaFRyaWdnZXJGaWxlOiBDb2RlUGlwZWxpbmVTb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vc3NMaWNlbnNlc0J1Y2tldDogSUJ1Y2tldDtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmljZUtleXN0b3JlUGFzc3dvcmQ6IElTdHJpbmdQYXJhbWV0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjY291bnROYW1lUGFyYW1ldGVyOiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9uaXN0RGF0YU1pcnJvclVybDogSVN0cmluZ1BhcmFtZXRlcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAvLyBwb3B1bGF0ZSBleHRlcm5hbCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5fYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKHRoaXMsICdUcmlnZ2VyQnVja2V0JywgRm4uaW1wb3J0VmFsdWUoJ2JpdGJ1Y2tldC1pbnRlZ3JhdGlvbi1zMy1idWNrZXQnKSk7XG4gICAgdGhpcy5fY2FjaGVCdWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdDYWNoZUJ1Y2tldCcsIHtcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoMzApLFxuICAgICAgICAgIGFib3J0SW5jb21wbGV0ZU11bHRpcGFydFVwbG9hZEFmdGVyOiBEdXJhdGlvbi5kYXlzKDcpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICB0aGlzLl9ob3N0ZWRab25lID0gcmlvLlJpb0xhbmRpbmdab25lLmdldERlZmF1bHRIb3N0ZWRab25lKHRoaXMpO1xuICAgIHRoaXMuX2lucHV0TWFzdGVyVHJpZ2dlckZpbGUgPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lU291cmNlLnMzKHRoaXMuX2J1Y2tldCwgYCR7cHJvcHMuc2VydmljZU5hbWV9L3RyaWdnZXIvJHtyaW8uVHJpZ2dlcktleS5NQVNURVJfUkVQT31gLCB7IHRyaWdnZXI6IGNvZGVwaXBlbGluZV9hY3Rpb25zLlMzVHJpZ2dlci5FVkVOVFMgfSk7XG4gICAgdGhpcy5faW5wdXRCcmFuY2hUcmlnZ2VyRmlsZSA9IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVTb3VyY2UuczModGhpcy5fYnVja2V0LCBgJHtwcm9wcy5zZXJ2aWNlTmFtZX0vdHJpZ2dlci8ke3Jpby5UcmlnZ2VyS2V5LkJSQU5DSF9SRVBPfWAsIHsgdHJpZ2dlcjogY29kZXBpcGVsaW5lX2FjdGlvbnMuUzNUcmlnZ2VyLkVWRU5UUyB9KTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0UGFyYW1ldGVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnT3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXInLCB7IHBhcmFtZXRlck5hbWU6ICcvY29uZmlnL29zcy1saWNlbnNlcy9idWNrZXQtbmFtZScgfSk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXQgPSBzMy5CdWNrZXQuZnJvbUJ1Y2tldE5hbWUodGhpcywgJ09zc0xpY2Vuc2VzQnVja2V0JywgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIuc3RyaW5nVmFsdWUpO1xuICAgIHRoaXMuX3NlcnZpY2VLZXlzdG9yZVBhc3N3b3JkID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU2VjdXJlU3RyaW5nUGFyYW1ldGVyQXR0cmlidXRlcyh0aGlzLCAnS2V5c3RvcmVQYXNzd29yZCcsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IGAvY29uZmlnLyR7cHJvcHMuc2VydmljZU5hbWV9L3NlcnZpY2Uta2V5c3RvcmUtcGFzc3dvcmRgLFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50TmFtZVBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0FjY291bnROYW1lUGFyYW1ldGVyJywgJy9jb25maWcvYWNjb3VudC9uYW1lJyk7XG4gICAgdGhpcy5fbmlzdERhdGFNaXJyb3JVcmwgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TZWN1cmVTdHJpbmdQYXJhbWV0ZXJBdHRyaWJ1dGVzKHRoaXMsICdOaXN0RGF0YU1pcnJvclVybCcsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6ICcvY29uZmlnL25pc3QtZGF0YS1taXJyb3IvdXJsJyxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9tYWluQ29kZUJ1aWxkUHJvamVjdCA9IHRoaXMuY3JlYXRlUmlvQ29kZUJ1aWxkUHJvamVjdCgnTWFpbkJ1aWxkJywgdGhpcy5faW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZSwgcHJvcHMpO1xuICAgIHRoaXMuYWRkTWFpblBpcGVsaW5lKHByb3BzLCB0aGlzLl9tYWluQ29kZUJ1aWxkUHJvamVjdCk7XG5cbiAgICBpZiAocHJvcHMucGlwZWxpbmVUeXBlICE9PSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfSU5GUkFTVFJVQ1RVUkUpIHtcbiAgICAgIHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QgPSB0aGlzLmNyZWF0ZVJpb0NvZGVCdWlsZFByb2plY3QoJ0JyYW5jaEJ1aWxkJywgdGhpcy5faW5wdXRCcmFuY2hUcmlnZ2VyRmlsZSwgcHJvcHMpO1xuICAgICAgdGhpcy5hZGRCcmFuY2hQaXBlbGluZShwcm9wcywgdGhpcy5fYnJhbmNoQ29kZUJ1aWxkUHJvamVjdCk7XG4gICAgICB0aGlzLmFkZFZ1bG5lcmFiaWxpdHlQaXBlbGluZShwcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3QgW2ZlYXR1cmUsIHBhY2thZ2VOYW1lXSA9IF9fZGlybmFtZS5zcGxpdChwYXRoLnNlcCkucmV2ZXJzZSgpO1xuICAgIG5ldyBDbGFpZG9tZXRlcih0aGlzLCAnQ2xhaWRvbWV0ZXInLCB7XG4gICAgICBwcm9kdWN0OiBDbGFpZG9tZXRlclByb2R1Y3QuQ0RLX0NPTlRSSUJVVElPTixcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZmVhdHVyZSxcbiAgICAgIHZlcnNpb246ICcwLjAuMjAnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBtYWluQ29kZWJ1aWxkUHJvamVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWFpbkNvZGVCdWlsZFByb2plY3Q7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJyYW5jaENvZGVCdWlsZFByb2plY3QoKTogQ29kZUJ1aWxkU3RlcCB7XG4gICAgaWYgKHRoaXMuX2JyYW5jaENvZGVCdWlsZFByb2plY3QgPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBFcnJvcignVGhlIHBpcGVsaW5lIHR5cGUgeW91IGhhdmUgc2VsZWN0ZWQgZG9lcyBub3Qgc3VwcG9ydCBhIGJyYW5jaCBjb2RlYnVpbGQgcHJvamVjdCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYnJhbmNoQ29kZUJ1aWxkUHJvamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmlvQ29kZUJ1aWxkUHJvamVjdChuYW1lOiBzdHJpbmcsIHRyaWdnZXJGaWxlOiBDb2RlUGlwZWxpbmVTb3VyY2UsIHByb3BzOiBQaXBlbGluZVN0YWNrUHJvcHMpIHtcbiAgICByZXR1cm4gbmV3IFJpb0NvZGVCdWlsZFByb2plY3QodGhpcywgbmFtZSwge1xuICAgICAgaW5wdXQ6IHRyaWdnZXJGaWxlLFxuICAgICAgY2RrT3V0RGlyZWN0b3J5OiAnaW5mcmFzdHJ1Y3R1cmUvY2RrLm91dCcsXG4gICAgICBwYXJ0aWFsQnVpbGRTcGVjOiB0aGlzLmxvYWRCdWlsZFNwZWNGcm9tRmlsZShwcm9wcz8uY29kZUJ1aWxkT3B0aW9ucz8ucGFydGlhbEJ1aWxkU3BlY1BhdGggfHxcbiAgICAgICAgdGhpcy5yZXNvbHZlRGVmYXVsdEJ1aWxkU3BlYyhwcm9wcy5waXBlbGluZVR5cGUpKSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHByb3BzPy5jb2RlQnVpbGRPcHRpb25zPy5idWlsZEVudmlyb25tZW50LFxuICAgICAgaG9zdGVkWm9uZU5hbWU6IHRoaXMuX2hvc3RlZFpvbmUuem9uZU5hbWUsXG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBjYWNoZUJ1Y2tldDogdGhpcy5fY2FjaGVCdWNrZXQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZE1haW5QaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzLCBtYWluQnVpbGQ6IENvZGVCdWlsZFN0ZXApIHtcblxuICAgIGNvbnN0IHBpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgJ1BpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgICAgc3ludGg6IG1haW5CdWlsZCxcbiAgICB9KTtcbiAgICBUYWdzLm9mKHBpcGVsaW5lKS5hZGQoJ3BpcGVsaW5lX3R5cGUnLCAnYnVpbGQnKTtcblxuICAgIC8vIENsb3VkQXNzZW1ibHlBcnRpZmFjdHMgbXVzdCBiZSBzbWFsbGVyIHRoYW4gMjU2TUIuIER1ZSB0byB0aGUgZ3JhZGxlIGFydGlmYWN0IHdlIGFyZSBleGNlZWRpbmcgdGhpcyBsaW1pdCBhbmQgcGlwZWxpbmUgZmFpbHMgaW4gZGVwbG95bWVudCBzdGVwLlxuICAgIC8vIElzc3VlIGlzIGtub3duIGFuZCBub3QgZml4ZWQgZm9yIGFscmVhZHkgc29tZSB5ZWFycy4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzk5MTdcbiAgICAvLyBEaXJ0eSBmaXg6IEFzc2V0cyBhcmUgYWxyZWFkeSB1cGxvYWRlZCBhbmQgdGh1cyBub3QgbmVlZGVkLiBSZW1vdmUgdGhlbSBmcm9tIHBpcGVsaW5lIGFydGlmYWN0LlxuICAgIGNvbnN0IHN0cmlwQXNzZXRzU3RlcCA9IG5ldyBDb2RlQnVpbGRTdGVwKFxuICAgICAgJ1N0cmlwQXNzZXRzRnJvbUFzc2VtYmx5Jywge1xuICAgICAgICBpbnB1dDogcGlwZWxpbmUuY2xvdWRBc3NlbWJseUZpbGVTZXQsXG4gICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgJ1MzX1BBVEg9JHtDT0RFQlVJTERfU09VUkNFX1ZFUlNJT04jXCJhcm46YXdzOnMzOjo6XCJ9JyxcbiAgICAgICAgICAnWklQX0FSQ0hJVkU9JChiYXNlbmFtZSAkUzNfUEFUSCknLFxuICAgICAgICAgICdybSAtcmZ2IGFzc2V0LionLFxuICAgICAgICAgICd6aXAgLXIgLXEgLUEgJFpJUF9BUkNISVZFIConLFxuICAgICAgICAgICdhd3MgczMgY3AgJFpJUF9BUkNISVZFIHMzOi8vJFMzX1BBVEgnLFxuICAgICAgICBdLFxuICAgICAgICBidWlsZEVudmlyb25tZW50OiB7XG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhMYW1iZGFCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yMDIzX05PREVfMjAsXG4gICAgICAgICAgY29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlLkxBTUJEQV8xR0IsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBwaXBlbGluZS5hZGRXYXZlKCdCZWZvcmVEZXBsb3knLCB7IHByZTogW3N0cmlwQXNzZXRzU3RlcF0gfSk7XG5cbiAgICBjb25zdCBjYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAgPSB0aGlzLmNyZWF0ZUNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcChtYWluQnVpbGQsIHByb3BzKTtcblxuICAgIHBpcGVsaW5lLmFkZFN0YWdlKG5ldyBBcHBsaWNhdGlvbih0aGlzLCAnRGVwbG95QXBwbGljYXRpb25TdGFja3MnLCB7XG4gICAgICBhcHBTdGFja0ZhY3Rvcnk6IHByb3BzLmFwcFN0YWNrRmFjdG9yeSxcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIHZlcnNpb246IHByb2Nlc3MuZW52LlBJUEVMSU5FX0VYRUNVVElPTl9JRCA/PyAnUElQRUxJTkVfRVhFQ1VUSU9OX0lEIG5vdCBzZXQnLFxuICAgIH0pLCB7XG4gICAgICBwcmU6IHByb3BzLnNlY3JldHNEZXBsb3lTdGVwUHJvcHMgPyBbXG4gICAgICAgIG5ldyByaW8uUmlvU2VjcmV0c0RlcGxveVN0ZXAodGhpcywgJ0RlcGxveVNlY3JldHMnLCB7XG4gICAgICAgICAgLi4ucHJvcHMuc2VjcmV0c0RlcGxveVN0ZXBQcm9wcyxcbiAgICAgICAgICBpbnB1dDogdGhpcy5faW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZSxcbiAgICAgICAgfSksXG4gICAgICBdIDogdW5kZWZpbmVkLFxuICAgICAgcG9zdDogY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwID8gW2NhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcF0gOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgcGlwZWxpbmUuYnVpbGRQaXBlbGluZSgpO1xuXG4gICAgaWYgKGNhcGFiaWxpdHlNb25pdG9yaW5nRGVwbG95U3RlcCkge1xuICAgICAgY29uc3QgbW9uaXRvcmluZ1Rlc3RzdWl0ZVJ1bm5lckJ1Y2tldCA9IEJ1Y2tldC5mcm9tQnVja2V0TmFtZSh0aGlzLCAnTW9uaXRvcmluZ1Rlc3RzdWl0ZVJ1bm5lckJ1Y2tldCcsIGBtb25pdG9yaW5nLXRlc3RzdWl0ZS1ydW5uZXItJHt0aGlzLmFjY291bnR9YCk7XG4gICAgICBtb25pdG9yaW5nVGVzdHN1aXRlUnVubmVyQnVja2V0LmdyYW50V3JpdGUoY2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKTtcbiAgICB9XG5cbiAgICBjb25zdCBydWxlID0gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdQaXBlbGluZVNjaGVkdWxlJywge1xuICAgICAgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKHByb3BzLnBpcGVsaW5lU2NoZWR1bGVzPy5tYWluUGlwZWxpbmUgfHwgJ2Nyb24oMCA5ID8gKiAyIzEgKiknKSxcbiAgICB9KTtcbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Db2RlUGlwZWxpbmUocGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIHRoaXMuX29zc0xpY2Vuc2VzQnVja2V0LmdyYW50UmVhZFdyaXRlKG1haW5CdWlsZCk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIuZ3JhbnRSZWFkKG1haW5CdWlsZCk7XG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSAhPT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0lORlJBU1RSVUNUVVJFKSB7XG4gICAgICB0aGlzLl9zZXJ2aWNlS2V5c3RvcmVQYXNzd29yZC5ncmFudFJlYWQobWFpbkJ1aWxkKTtcbiAgICB9XG4gICAgdGhpcy5fYWNjb3VudE5hbWVQYXJhbWV0ZXIuZ3JhbnRSZWFkKG1haW5CdWlsZCk7XG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSA9PT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRV9LQUZLQSkge1xuICAgICAgdGhpcy5ncmFudFBlcm1pc3Npb25zRm9yS2Fma2FJbnRlZ3JhdGlvbihtYWluQnVpbGQsICdLYWZrYUludGVncmF0aW9uUG9saWN5Jyk7XG4gICAgfVxuICAgIHBpcGVsaW5lLnBpcGVsaW5lLmFydGlmYWN0QnVja2V0LmdyYW50UmVhZFdyaXRlKHN0cmlwQXNzZXRzU3RlcC5wcm9qZWN0KTtcblxuICAgIG5ldyBEYXRhZG9nUGlwZWxpbmVFcnJvckFsZXJ0KHRoaXMsICdEYXRhZG9nUGlwZWxpbmVFcnJvck1vbml0b3InLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBwaXBlbGluZU5hbWU6IHRoaXMucmVuYW1lUGlwZWxpbmVUb0xvd2VyQ2FzZShwaXBlbGluZSksXG4gICAgICBhY2NvdW50SWQ6IHRoaXMuYWNjb3VudCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkQnJhbmNoUGlwZWxpbmUocHJvcHM6IFBpcGVsaW5lU3RhY2tQcm9wcywgYnJhbmNoQnVpbGQ6IENvZGVCdWlsZFN0ZXApIHtcblxuICAgIGNvbnN0IGJyYW5jaFBpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgJ0JyYW5jaFBpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgICAgc3ludGg6IGJyYW5jaEJ1aWxkLFxuICAgICAgc2VsZk11dGF0aW9uOiBmYWxzZSxcbiAgICB9KTtcbiAgICBUYWdzLm9mKGJyYW5jaFBpcGVsaW5lKS5hZGQoJ3BpcGVsaW5lX3R5cGUnLCAnYnJhbmNoJyk7XG4gICAgYnJhbmNoUGlwZWxpbmUuYWRkV2F2ZSgnQnJhbmNoQnVpbGQnKS5hZGRQb3N0KGJyYW5jaEJ1aWxkKTtcbiAgICBicmFuY2hQaXBlbGluZS5idWlsZFBpcGVsaW5lKCk7XG5cbiAgICB0aGlzLl9vc3NMaWNlbnNlc0J1Y2tldC5ncmFudFJlYWRXcml0ZShicmFuY2hCdWlsZCk7XG4gICAgdGhpcy5fb3NzTGljZW5zZXNCdWNrZXRQYXJhbWV0ZXIuZ3JhbnRSZWFkKGJyYW5jaEJ1aWxkKTtcbiAgICB0aGlzLl9zZXJ2aWNlS2V5c3RvcmVQYXNzd29yZC5ncmFudFJlYWQoYnJhbmNoQnVpbGQpO1xuICAgIHRoaXMuX2FjY291bnROYW1lUGFyYW1ldGVyLmdyYW50UmVhZChicmFuY2hCdWlsZCk7XG4gICAgaWYgKHByb3BzLnBpcGVsaW5lVHlwZSA9PT0gUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRV9LQUZLQSkge1xuICAgICAgdGhpcy5ncmFudFBlcm1pc3Npb25zRm9yS2Fma2FJbnRlZ3JhdGlvbihicmFuY2hCdWlsZCwgJ0JyYW5jaEthZmthSW50ZWdyYXRpb25Qb2xpY3knKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFZ1bG5lcmFiaWxpdHlQaXBlbGluZShwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKSB7XG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eUJ1aWxkID0gbmV3IFJpb0NvZGVCdWlsZFByb2plY3QodGhpcywgJ1Z1bG5lcmFiaWxpdHlDaGVja3MnLCB7XG4gICAgICBpbnB1dDogdGhpcy5faW5wdXRNYXN0ZXJUcmlnZ2VyRmlsZSxcbiAgICAgIHBhcnRpYWxCdWlsZFNwZWM6IHRoaXMubG9hZEJ1aWxkU3BlY0Zyb21GaWxlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlYy12dWxuZXJhYmlsaXR5LWNoZWNrcy55YW1sJykpLFxuICAgICAgYnVpbGRFbnZpcm9ubWVudDogcHJvcHM/LmNvZGVCdWlsZE9wdGlvbnM/LmJ1aWxkRW52aXJvbm1lbnQsXG4gICAgICBob3N0ZWRab25lTmFtZTogdGhpcy5faG9zdGVkWm9uZS56b25lTmFtZSxcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGNhY2hlQnVja2V0OiB0aGlzLl9jYWNoZUJ1Y2tldCxcbiAgICB9KTtcbiAgICBjb25zdCB2dWxuZXJhYmlsaXR5UGlwZWxpbmUgPSBuZXcgcGlwZWxpbmVzLkNvZGVQaXBlbGluZSh0aGlzLCAnVnVsbmVyYWJpbGl0eVBpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXQ6IHRoaXMuX2NhY2hlQnVja2V0LFxuICAgICAgc3ludGg6IHZ1bG5lcmFiaWxpdHlCdWlsZCxcbiAgICAgIHNlbGZNdXRhdGlvbjogZmFsc2UsXG4gICAgfSk7XG4gICAgVGFncy5vZih2dWxuZXJhYmlsaXR5UGlwZWxpbmUpLmFkZCgncGlwZWxpbmVfdHlwZScsICd2dWxuZXJhYmlsaXR5Jyk7XG5cbiAgICB2dWxuZXJhYmlsaXR5UGlwZWxpbmUuYWRkV2F2ZSgnVnVsbmVyYWJpbGl0eUNoZWNrcycpLmFkZFBvc3QodnVsbmVyYWJpbGl0eUJ1aWxkKTtcbiAgICB2dWxuZXJhYmlsaXR5UGlwZWxpbmUuYnVpbGRQaXBlbGluZSgpO1xuICAgIHRoaXMuX25pc3REYXRhTWlycm9yVXJsLmdyYW50UmVhZCh2dWxuZXJhYmlsaXR5QnVpbGQpO1xuXG4gICAgY29uc3QgdnVsbmVyYWJpbGl0eVJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1Z1bG5lcmFiaWxpdHlQaXBlbGluZVNjaGVkdWxlJywge1xuICAgICAgc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZS5leHByZXNzaW9uKHByb3BzLnBpcGVsaW5lU2NoZWR1bGVzPy52dWxuZXJhYmlsaXR5UGlwZWxpbmUgfHwgJ2Nyb24oMCA1ID8gKiBNT04tRlJJICopJyksXG4gICAgfSk7XG4gICAgdnVsbmVyYWJpbGl0eVJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh2dWxuZXJhYmlsaXR5UGlwZWxpbmUucGlwZWxpbmUpKTtcblxuICAgIGlmIChwcm9wcy5kYXRhZG9nQWxlcnRUeXBlID09PSAnb3BzZ2VuaWUnKSB7XG4gICAgICB0aHJvdyBFcnJvcignVGhlIE9wc0dlbmllIGFsZXJ0VHlwZSBpcyBub3Qgc3VwcG9ydGVkIGFueW1vcmUuIFBsZWFzZSB1c2UgdGhlIHZ1bG5lcmFiaWxpdHlOb3RpZmljYXRpb24gcHJvcGVydHkgaW5zdGVhZC4nKTtcbiAgICB9XG4gICAgbmV3IERhdGFEb2dQaXBlbGluZUVycm9yQWxlcnRGb3JWdWxuZXJhYmlsaXR5Q2hlY2tzKHRoaXMsICdEYXRhRG9nUGlwZWxpbmVFcnJvckZvclZ1bG5lcmFiaWxpdHlDaGVja3NNb25pdG9yJywge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgcGlwZWxpbmVOYW1lOiB0aGlzLnJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UodnVsbmVyYWJpbGl0eVBpcGVsaW5lKSxcbiAgICAgIGFjY291bnRJZDogdGhpcy5hY2NvdW50LFxuICAgICAgbm90aWZpY2F0aW9uOiBwcm9wcy52dWxuZXJhYmlsaXR5Tm90aWZpY2F0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDYXBhYmlsaXR5TW9uaXRvcmluZ0RlcGxveVN0ZXAobWFpbkJ1aWxkOiBDb2RlQnVpbGRTdGVwLCBwcm9wczogUGlwZWxpbmVTdGFja1Byb3BzKTogQ29kZUJ1aWxkU3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3BzLm1vbml0b3JpbmdEZXBsb3lTdGVwUHJvcHMpIHtcbiAgICAgIGNvbnN0IG1vbml0b3JpbmdBcnRpZmFjdHMgPSBPYmplY3Qua2V5cyhwcm9wcy5tb25pdG9yaW5nRGVwbG95U3RlcFByb3BzLm1vbml0b3JpbmdBcnRpZmFjdHMpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IG1haW5CdWlsZC5hZGRPdXRwdXREaXJlY3Rvcnkoa2V5KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnB1dDogb3V0cHV0LFxuICAgICAgICAgIGZpbGVzOiBwcm9wcy5tb25pdG9yaW5nRGVwbG95U3RlcFByb3BzIS5tb25pdG9yaW5nQXJ0aWZhY3RzW2tleV0sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBuZXcgUmlvQ2FwYWJpbGl0eU1vbml0b3JpbmdEZXBsb3lTdGVwKHRoaXMsICdEZXBsb3lDYXBhYmlsaXR5TW9uaXRvcmluZycsIHtcbiAgICAgICAgbW9uaXRvcmluZ0FydGlmYWN0czogbW9uaXRvcmluZ0FydGlmYWN0cyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZURlZmF1bHRCdWlsZFNwZWMocGlwZWxpbmVUeXBlOiBQaXBlbGluZVR5cGUpIHtcbiAgICBzd2l0Y2ggKHBpcGVsaW5lVHlwZSkge1xuICAgICAgY2FzZSBQaXBlbGluZVR5cGUuU1RBTkRBUkRfR1JBRExFOlxuICAgICAgICByZXR1cm4gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2J1aWxkc3BlY3MvYnVpbGRzcGVjLnlhbWwnKTtcbiAgICAgIGNhc2UgUGlwZWxpbmVUeXBlLlNUQU5EQVJEX0dSQURMRV9LQUZLQTpcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlY19rYWZrYS55YW1sJyk7XG4gICAgICBjYXNlIFBpcGVsaW5lVHlwZS5TVEFOREFSRF9JTkZSQVNUUlVDVFVSRTpcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdidWlsZHNwZWNzL2J1aWxkc3BlY19pbmZyYXN0cnVjdHVyZS55YW1sJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBncmFudFBlcm1pc3Npb25zRm9yS2Fma2FJbnRlZ3JhdGlvbihidWlsZFByb2plY3Q6IFJpb0NvZGVCdWlsZFByb2plY3QsIHBvbGljeUlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBidWlsZFByb2plY3RSb2xlID0gYnVpbGRQcm9qZWN0LnByb2plY3Qucm9sZTtcbiAgICBpZiAoYnVpbGRQcm9qZWN0Um9sZSkge1xuICAgICAgYnVpbGRQcm9qZWN0Um9sZS5hZGRNYW5hZ2VkUG9saWN5KFxuICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21NYW5hZ2VkUG9saWN5QXJuKHRoaXMsXG4gICAgICAgICAgcG9saWN5SWQsXG4gICAgICAgICAgRm4uaW1wb3J0VmFsdWUoJ2thZmthLWludGVncmF0aW9uLXBvbGljeS1hcm4nKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKGBDb3VsZCBub3QgYWRkIG1hbmFnZWQgcG9saWN5IGZvciBrYWZrYS1pbnRlZ3JhdGlvbiB0byBDb2RlQnVpbGQgcHJvamVjdCBvZiAke2J1aWxkUHJvamVjdC5pZH0gZHVlIHRvIG1pc3Npbmcgcm9sZS5gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRCdWlsZFNwZWNGcm9tRmlsZShidWlsZFNwZWNQYXRoOiBzdHJpbmcpOiBCdWlsZFNwZWMge1xuICAgIHJldHVybiBCdWlsZFNwZWMuZnJvbU9iamVjdCh5YW1sLmxvYWQoZnMucmVhZEZpbGVTeW5jKGJ1aWxkU3BlY1BhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkpIGFzIE9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmFtZVBpcGVsaW5lVG9Mb3dlckNhc2UocGlwZWxpbmU6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUpOiBSZWZlcmVuY2Uge1xuICAgIGNvbnN0IHVwcGVyVG9Mb3dlckNyID0gbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCBgJHtwaXBlbGluZS5ub2RlLmlkfS1VcHBlclRvTG93ZXJgLCB7XG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlVwcGVyVG9Mb3dlcicsXG4gICAgICBzZXJ2aWNlVG9rZW46IFVwcGVyVG9Mb3dlci5nZXRPckNyZWF0ZSh0aGlzKS5wcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFVwcGVyOiBwaXBlbGluZS5waXBlbGluZS5waXBlbGluZU5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiB1cHBlclRvTG93ZXJDci5nZXRBdHQoJ0xvd2VyJyk7XG4gIH1cbn1cbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -16,5 +16,6 @@ export * from './contributions/cop-frontend/cloudfront';
16
16
  export * from './contributions/team-transport-two/pipeline';
17
17
  export * from './contributions/team-claid/aws-backup-monitoring';
18
18
  export * from './contributions/team-claid/datadog-usage-monitoring';
19
+ export * from './contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor';
19
20
  export * from './backup';
20
21
  export * as backup from './backup';
package/lib/index.js CHANGED
@@ -33,6 +33,7 @@ __exportStar(require("./contributions/cop-frontend/cloudfront"), exports);
33
33
  __exportStar(require("./contributions/team-transport-two/pipeline"), exports);
34
34
  __exportStar(require("./contributions/team-claid/aws-backup-monitoring"), exports);
35
35
  __exportStar(require("./contributions/team-claid/datadog-usage-monitoring"), exports);
36
+ __exportStar(require("./contributions/team-oubout-order-book/aws-ecs-abruptly-stopped-monitor"), exports);
36
37
  __exportStar(require("./backup"), exports);
37
38
  exports.backup = require("./backup");
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5Qyx1Q0FBcUM7QUFFckMseUVBQXVEO0FBQ3ZELDhFQUE0RDtBQUU1RCwwQ0FBd0I7QUFDeEIsbUNBQWlDO0FBRWpDLDRDQUEwQjtBQUMxQix1Q0FBcUM7QUFDckMsMkNBQXlDO0FBRXpDLDBFQUF3RDtBQUV4RCw4RUFBNEQ7QUFFNUQsbUZBQWlFO0FBQ2pFLHNGQUFvRTtBQUVwRSwyQ0FBeUI7QUFDekIscUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bCc7XG5cbmV4cG9ydCAqIGFzIHdhdGNoZnVsdjIgZnJvbSAnLi93YXRjaGZ1bHYyJztcblxuZXhwb3J0ICogZnJvbSAnLi9yaW8tbGFuZGluZy16b25lJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxvYWQtYmFsYW5jZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yaW8tY2xhaWRvbWV0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZSc7XG5leHBvcnQgKiBhcyBmYXJnYXRlIGZyb20gJy4vZmFyZ2F0ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcmlvLWJpdGJ1Y2tldC1zb3VyY2UtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUvcmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2thZmthJztcbmV4cG9ydCAqIGFzIGthZmthIGZyb20gJy4va2Fma2EnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RhdGFkb2cnO1xuZXhwb3J0ICogYXMgZGF0YWRvZyBmcm9tICcuL2RhdGFkb2cnO1xuZXhwb3J0ICogYXMgZGF0YWRvZ3YyIGZyb20gJy4vZGF0YWRvZ3YyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL2NvcC1mcm9udGVuZC9jbG91ZGZyb250JztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLWNsYWlkL2F3cy1iYWNrdXAtbW9uaXRvcmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2t1cCc7XG5leHBvcnQgKiBhcyBiYWNrdXAgZnJvbSAnLi9iYWNrdXAnOyJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5Qyx1Q0FBcUM7QUFFckMseUVBQXVEO0FBQ3ZELDhFQUE0RDtBQUU1RCwwQ0FBd0I7QUFDeEIsbUNBQWlDO0FBRWpDLDRDQUEwQjtBQUMxQix1Q0FBcUM7QUFDckMsMkNBQXlDO0FBRXpDLDBFQUF3RDtBQUV4RCw4RUFBNEQ7QUFFNUQsbUZBQWlFO0FBQ2pFLHNGQUFvRTtBQUVwRSwwR0FBd0Y7QUFFeEYsMkNBQXlCO0FBQ3pCLHFDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwnO1xuXG5leHBvcnQgKiBhcyB3YXRjaGZ1bHYyIGZyb20gJy4vd2F0Y2hmdWx2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxhbmRpbmctem9uZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jpby1sb2FkLWJhbGFuY2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UnO1xuZXhwb3J0ICogYXMgZmFyZ2F0ZSBmcm9tICcuL2ZhcmdhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iaXRidWNrZXQtc291cmNlLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iYWNrdXAtc2VjcmV0cy1yZXN0b3JlLXN0YWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5leHBvcnQgKiBhcyBrYWZrYSBmcm9tICcuL2thZmthJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2d2MiBmcm9tICcuL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9hd3MtYmFja3VwLW1vbml0b3JpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tb3Vib3V0LW9yZGVyLWJvb2svYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2t1cCc7XG5leHBvcnQgKiBhcyBiYWNrdXAgZnJvbSAnLi9iYWNrdXAnOyJdfQ==
@@ -53,9 +53,13 @@ class WatchEcsService extends constructs_1.Construct {
53
53
  createMemoryUtilizationMonitor(memoryUtilizationThresholdPercent = DEFAULT_MEMORY_UTILIZATION_THRESHOLD_PERCENT) {
54
54
  const memoryUtilizationMetric = this.service
55
55
  .metricMemoryUtilization()
56
- .with({ period: aws_cdk_lib_1.Duration.minutes(10), statistic: cw.Stats.MAXIMUM });
56
+ .with({ period: aws_cdk_lib_1.Duration.minutes(10) });
57
+ const mappedMetric = new cw.Metric({
58
+ ...memoryUtilizationMetric,
59
+ metricName: `${memoryUtilizationMetric.metricName}.maximum`,
60
+ });
57
61
  return {
58
- metric: memoryUtilizationMetric,
62
+ metric: mappedMetric,
59
63
  alarmDescription: `Maximum memory utilization over last 10 minutes higher than ${memoryUtilizationThresholdPercent}%`,
60
64
  comparisonOperator: cw.ComparisonOperator.GREATER_THAN_THRESHOLD,
61
65
  threshold: memoryUtilizationThresholdPercent,
@@ -66,4 +70,4 @@ class WatchEcsService extends constructs_1.Construct {
66
70
  exports.WatchEcsService = WatchEcsService;
67
71
  _a = JSII_RTTI_SYMBOL_1;
68
72
  WatchEcsService[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.WatchEcsService", version: "0.0.0" };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGNoZnVsL2Vjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1QztBQUN2QyxpREFBaUQ7QUFFakQsMkNBQXVDO0FBRXZDLDBCQUFvRztBQUVwRyxNQUFNLHlDQUF5QyxHQUFHLEVBQUUsQ0FBQztBQUNyRCxNQUFNLDRDQUE0QyxHQUFHLEVBQUUsQ0FBQztBQXFDeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxzQkFBUztJQUk1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU3QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQzVCLGVBQVcsQ0FBQyxlQUFlLEVBQzNCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FDdkUsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFDNUIsZUFBVyxDQUFDLGtCQUFrQixFQUM5QixJQUFJLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQzdFLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQy9CLGVBQVcsQ0FBQyxpQkFBaUIsRUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJO1lBQzdCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsWUFBWSxFQUFFLGdCQUFZLENBQUMsT0FBTztZQUNsQyxjQUFjLEVBQUUsc0JBQWtCLENBQUMsa0NBQWtDO1lBQ3JFLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2RCxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsS0FBSyxFQUFFLEdBQUcsRUFBRSxzR0FBc0c7U0FDbkgsQ0FBQztJQUNKLENBQUM7SUFFTywyQkFBMkIsQ0FDakMsaUNBQXlDLHlDQUF5QztRQUVsRixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE9BQU87WUFDTCxNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLGdCQUFnQixFQUFFLDREQUE0RCw4QkFBOEIsR0FBRztZQUMvRyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ2hFLFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLDhCQUE4QixDQUNwQyxvQ0FBNEMsNENBQTRDO1FBRXhGLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDekMsdUJBQXVCLEVBQUU7YUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTztZQUNMLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsZ0JBQWdCLEVBQUUsK0RBQStELGlDQUFpQyxHQUFHO1lBQ3JILGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7WUFDaEUsU0FBUyxFQUFFLGlDQUFpQztZQUM1QyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3JCLENBQUM7SUFDSixDQUFDOztBQWpFSCwwQ0FtRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN3IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVdhdGNoZnVsIH0gZnJvbSAnLi93YXRjaGZ1bCc7XG5pbXBvcnQgeyBDb21wYXJpc29uT3BlcmF0b3IsIExvZ0FsYXJtUHJvcHMsIE1ldHJpY0FsYXJtUHJvcHMsIE1vbml0b3JUeXBlLCBVbml0T2ZQZXJpb2QgfSBmcm9tICcuLic7XG5cbmNvbnN0IERFRkFVTFRfQ1BVX1VUSUxJWkFUSU9OX1RIUkVTSE9MRF9QRVJDRU5UID0gODA7XG5jb25zdCBERUZBVUxUX01FTU9SWV9VVElMSVpBVElPTl9USFJFU0hPTERfUEVSQ0VOVCA9IDg1O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRlZmluaW5nIGFsYXJtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXYXRjaEVjc1NlcnZpY2VPcHRpb25zIHtcbiAgLyoqXG4gICAgICogVGhyZXNob2xkIGZvciB0aGUgY3B1IHV0aWxpemF0aW9uIGFsYXJtIGFzIHBlcmNlbnRhZ2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlIDgwXG4gICAgICovXG4gIHJlYWRvbmx5IGNwdVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICAgKiBUaHJlc2hvbGQgZm9yIHRoZSBtZW1vcnkgdXRpbGl6YXRpb24gYWxhcm0gYXMgcGVyY2VudGFnZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0VmFsdWUgOTVcbiAgICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5VXRpbGl6YXRpb25UaHJlc2hvbGRQZXJjZW50PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV2F0Y2hFY3NTZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hFY3NTZXJ2aWNlUHJvcHMgZXh0ZW5kcyBXYXRjaEVjc1NlcnZpY2VPcHRpb25zIHtcbiAgLyoqXG4gICAgICogVGhlIHJlZmVyZW5jZSB0byBJV2F0Y2hmdWwgY2xhc3MuIFVzZWQgaW50ZXJuYWxseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2hmdWw6IElXYXRjaGZ1bDtcblxuICAvKipcbiAgICAgKiBUaGUgRUNTIHNlcnZpY2UgdGhhdCBzaG91bGQgYmUgd2F0Y2hlZC5cbiAgICAgKiBbZGlzYWJsZS1hd3NsaW50OnJlZi12aWEtaW50ZXJmYWNlXVxuICAgICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBlY3MuQmFzZVNlcnZpY2U7XG59XG5cbi8qKlxuICogQSBDb25zdHJ1Y3Qgd2hpY2ggY3JlYXRlcyBkZWZhdWx0IGFsYXJtcyBmb3IgRUNTIHNlcnZpY2VzLlxuICogQSBDb25zdHJ1Y3Qgd2hpY2ggY3JlYXRlcyB0aGUgZm9sbG93aW5nIGFsYXJtcyBmb3IgRUNTIHNlcnZpY2VzOlxuICpcbiAqIC0gY3B1IHV0aWxpemF0aW9uXG4gKiAtIG1lbW9yeSB1dGlsaXphdGlvblxuICogLSBlcnJvciBsb2cgYWxlcnRcbiAqL1xuZXhwb3J0IGNsYXNzIFdhdGNoRWNzU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2F0Y2hmdWw6IElXYXRjaGZ1bDtcbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBlY3MuQmFzZVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdhdGNoRWNzU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMud2F0Y2hmdWwgPSBwcm9wcy53YXRjaGZ1bDtcbiAgICB0aGlzLnNlcnZpY2UgPSBwcm9wcy5zZXJ2aWNlO1xuXG4gICAgdGhpcy53YXRjaGZ1bC5jcmVhdGVBbGFybSh0aGlzLFxuICAgICAgTW9uaXRvclR5cGUuQ1BVX1VUSUxJWkFUSU9OLFxuICAgICAgdGhpcy5jcmVhdGVDcHVVdGlsaXphdGlvbk1vbml0b3IocHJvcHMuY3B1VXRpbGl6YXRpb25UaHJlc2hvbGRQZXJjZW50KSxcbiAgICApO1xuICAgIHRoaXMud2F0Y2hmdWwuY3JlYXRlQWxhcm0odGhpcyxcbiAgICAgIE1vbml0b3JUeXBlLk1FTU9SWV9VVElMSVpBVElPTixcbiAgICAgIHRoaXMuY3JlYXRlTWVtb3J5VXRpbGl6YXRpb25Nb25pdG9yKHByb3BzLm1lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudCksXG4gICAgKTtcbiAgICB0aGlzLndhdGNoZnVsLmNyZWF0ZUxvZ0FsYXJtKHRoaXMsXG4gICAgICBNb25pdG9yVHlwZS5MT0dfRVJST1JfTU9OSVRPUixcbiAgICAgIHRoaXMuY3JlYXRlTG9nRXJyb3JNb25pdG9yKCksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9nRXJyb3JNb25pdG9yKCk6IExvZ0FsYXJtUHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICBhdXRvQ2xvc2VPcHNHZW5pZUFsZXJ0czogdHJ1ZSxcbiAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIHVuaXRPZlBlcmlvZDogVW5pdE9mUGVyaW9kLk1JTlVURVMsIC8vIHRvRG86IG1vdmUgdGhhdCBzb21ld2hlcmUgZWxzZSBhbmQgc2V0IGRlZmF1bHRzIHRoZXJlP1xuICAgICAgcGVyaW9kT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgICAgc3RhdGlzdGljOiAnY291bnQnLFxuICAgICAgcXVlcnlGaWx0ZXJzOiAnZXJyb3InLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F1dG8tZ2VuZXJhdGVkIGFsZXJ0IGZvciBlcnJvciBsb2dzJyxcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIHByaW9yaXR5OiAzLFxuICAgICAgaW5kZXg6ICcqJywgLy8gdG9Ebzogd2Ugc2hvdWxkIHRha2UgaGVyZSB0aGUgdGVhbSBuYW1lIGJ1dCBmb3Igb2xkZXIgc2V0dXBzIHRvIHdvcmsgd2Uga2VlcCB0aGF0IGZvciBjb21wYXRpYmlsaXR5XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3B1VXRpbGl6YXRpb25Nb25pdG9yKFxuICAgIGNwdVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudDogbnVtYmVyID0gREVGQVVMVF9DUFVfVVRJTElaQVRJT05fVEhSRVNIT0xEX1BFUkNFTlQsXG4gICk6IE1ldHJpY0FsYXJtUHJvcHMge1xuICAgIGNvbnN0IGNwdVV0aWxpemF0aW9uTWV0cmljID0gdGhpcy5zZXJ2aWNlLm1ldHJpY0NwdVV0aWxpemF0aW9uKCkud2l0aCh7IHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxMCkgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldHJpYzogY3B1VXRpbGl6YXRpb25NZXRyaWMsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgQXZlcmFnZSBDUFUgdXRpbGl6YXRpb24gb3ZlciBsYXN0IDEwIG1pbnV0ZXMgaGlnaGVyIHRoYW4gJHtjcHVVdGlsaXphdGlvblRocmVzaG9sZFBlcmNlbnR9JWAsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGN3LkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgdGhyZXNob2xkOiBjcHVVdGlsaXphdGlvblRocmVzaG9sZFBlcmNlbnQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVNZW1vcnlVdGlsaXphdGlvbk1vbml0b3IoXG4gICAgbWVtb3J5VXRpbGl6YXRpb25UaHJlc2hvbGRQZXJjZW50OiBudW1iZXIgPSBERUZBVUxUX01FTU9SWV9VVElMSVpBVElPTl9USFJFU0hPTERfUEVSQ0VOVCxcbiAgKTogTWV0cmljQWxhcm1Qcm9wcyB7XG4gICAgY29uc3QgbWVtb3J5VXRpbGl6YXRpb25NZXRyaWMgPSB0aGlzLnNlcnZpY2VcbiAgICAgIC5tZXRyaWNNZW1vcnlVdGlsaXphdGlvbigpXG4gICAgICAud2l0aCh7IHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxMCksIHN0YXRpc3RpYzogY3cuU3RhdHMuTUFYSU1VTSB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljOiBtZW1vcnlVdGlsaXphdGlvbk1ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBNYXhpbXVtIG1lbW9yeSB1dGlsaXphdGlvbiBvdmVyIGxhc3QgMTAgbWludXRlcyBoaWdoZXIgdGhhbiAke21lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudH0lYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB0aHJlc2hvbGQ6IG1lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIH07XG4gIH1cblxufVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGNoZnVsL2Vjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1QztBQUN2QyxpREFBaUQ7QUFHakQsMkNBQXVDO0FBRXZDLDBCQUFvRztBQUVwRyxNQUFNLHlDQUF5QyxHQUFHLEVBQUUsQ0FBQztBQUNyRCxNQUFNLDRDQUE0QyxHQUFHLEVBQUUsQ0FBQztBQXFDeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxzQkFBUztJQUk1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU3QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQzVCLGVBQVcsQ0FBQyxlQUFlLEVBQzNCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FDdkUsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFDNUIsZUFBVyxDQUFDLGtCQUFrQixFQUM5QixJQUFJLENBQUMsOEJBQThCLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQzdFLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQy9CLGVBQVcsQ0FBQyxpQkFBaUIsRUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJO1lBQzdCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsWUFBWSxFQUFFLGdCQUFZLENBQUMsT0FBTztZQUNsQyxjQUFjLEVBQUUsc0JBQWtCLENBQUMsa0NBQWtDO1lBQ3JFLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGdCQUFnQixFQUFFLHFDQUFxQztZQUN2RCxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsS0FBSyxFQUFFLEdBQUcsRUFBRSxzR0FBc0c7U0FDbkgsQ0FBQztJQUNKLENBQUM7SUFFTywyQkFBMkIsQ0FDakMsaUNBQXlDLHlDQUF5QztRQUVsRixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE9BQU87WUFDTCxNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLGdCQUFnQixFQUFFLDREQUE0RCw4QkFBOEIsR0FBRztZQUMvRyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ2hFLFNBQVMsRUFBRSw4QkFBOEI7WUFDekMsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLDhCQUE4QixDQUNwQyxvQ0FBNEMsNENBQTRDO1FBRXhGLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU87YUFDekMsdUJBQXVCLEVBQUU7YUFDekIsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUxQyxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDakMsR0FBRyx1QkFBc0M7WUFDekMsVUFBVSxFQUFFLEdBQUcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO1NBQzVELENBQUMsQ0FBQztRQUNILE9BQU87WUFDTCxNQUFNLEVBQUUsWUFBWTtZQUNwQixnQkFBZ0IsRUFBRSwrREFBK0QsaUNBQWlDLEdBQUc7WUFDckgsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQjtZQUNoRSxTQUFTLEVBQUUsaUNBQWlDO1lBQzVDLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQztJQUNKLENBQUM7O0FBdEVILDBDQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY3cgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgTWV0cmljUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElXYXRjaGZ1bCB9IGZyb20gJy4vd2F0Y2hmdWwnO1xuaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBMb2dBbGFybVByb3BzLCBNZXRyaWNBbGFybVByb3BzLCBNb25pdG9yVHlwZSwgVW5pdE9mUGVyaW9kIH0gZnJvbSAnLi4nO1xuXG5jb25zdCBERUZBVUxUX0NQVV9VVElMSVpBVElPTl9USFJFU0hPTERfUEVSQ0VOVCA9IDgwO1xuY29uc3QgREVGQVVMVF9NRU1PUllfVVRJTElaQVRJT05fVEhSRVNIT0xEX1BFUkNFTlQgPSA4NTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBkZWZpbmluZyBhbGFybXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hFY3NTZXJ2aWNlT3B0aW9ucyB7XG4gIC8qKlxuICAgICAqIFRocmVzaG9sZCBmb3IgdGhlIGNwdSB1dGlsaXphdGlvbiBhbGFybSBhcyBwZXJjZW50YWdlLlxuICAgICAqXG4gICAgICogQGRlZmF1bHRWYWx1ZSA4MFxuICAgICAqL1xuICByZWFkb25seSBjcHVVdGlsaXphdGlvblRocmVzaG9sZFBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAgICogVGhyZXNob2xkIGZvciB0aGUgbWVtb3J5IHV0aWxpemF0aW9uIGFsYXJtIGFzIHBlcmNlbnRhZ2UuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdFZhbHVlIDk1XG4gICAgICovXG4gIHJlYWRvbmx5IG1lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFdhdGNoRWNzU2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhdGNoRWNzU2VydmljZVByb3BzIGV4dGVuZHMgV2F0Y2hFY3NTZXJ2aWNlT3B0aW9ucyB7XG4gIC8qKlxuICAgICAqIFRoZSByZWZlcmVuY2UgdG8gSVdhdGNoZnVsIGNsYXNzLiBVc2VkIGludGVybmFsbHkuXG4gICAgICovXG4gIHJlYWRvbmx5IHdhdGNoZnVsOiBJV2F0Y2hmdWw7XG5cbiAgLyoqXG4gICAgICogVGhlIEVDUyBzZXJ2aWNlIHRoYXQgc2hvdWxkIGJlIHdhdGNoZWQuXG4gICAgICogW2Rpc2FibGUtYXdzbGludDpyZWYtdmlhLWludGVyZmFjZV1cbiAgICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLkJhc2VTZXJ2aWNlO1xufVxuXG4vKipcbiAqIEEgQ29uc3RydWN0IHdoaWNoIGNyZWF0ZXMgZGVmYXVsdCBhbGFybXMgZm9yIEVDUyBzZXJ2aWNlcy5cbiAqIEEgQ29uc3RydWN0IHdoaWNoIGNyZWF0ZXMgdGhlIGZvbGxvd2luZyBhbGFybXMgZm9yIEVDUyBzZXJ2aWNlczpcbiAqXG4gKiAtIGNwdSB1dGlsaXphdGlvblxuICogLSBtZW1vcnkgdXRpbGl6YXRpb25cbiAqIC0gZXJyb3IgbG9nIGFsZXJ0XG4gKi9cbmV4cG9ydCBjbGFzcyBXYXRjaEVjc1NlcnZpY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhdGNoZnVsOiBJV2F0Y2hmdWw7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZTogZWNzLkJhc2VTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXYXRjaEVjc1NlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLndhdGNoZnVsID0gcHJvcHMud2F0Y2hmdWw7XG4gICAgdGhpcy5zZXJ2aWNlID0gcHJvcHMuc2VydmljZTtcblxuICAgIHRoaXMud2F0Y2hmdWwuY3JlYXRlQWxhcm0odGhpcyxcbiAgICAgIE1vbml0b3JUeXBlLkNQVV9VVElMSVpBVElPTixcbiAgICAgIHRoaXMuY3JlYXRlQ3B1VXRpbGl6YXRpb25Nb25pdG9yKHByb3BzLmNwdVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudCksXG4gICAgKTtcbiAgICB0aGlzLndhdGNoZnVsLmNyZWF0ZUFsYXJtKHRoaXMsXG4gICAgICBNb25pdG9yVHlwZS5NRU1PUllfVVRJTElaQVRJT04sXG4gICAgICB0aGlzLmNyZWF0ZU1lbW9yeVV0aWxpemF0aW9uTW9uaXRvcihwcm9wcy5tZW1vcnlVdGlsaXphdGlvblRocmVzaG9sZFBlcmNlbnQpLFxuICAgICk7XG4gICAgdGhpcy53YXRjaGZ1bC5jcmVhdGVMb2dBbGFybSh0aGlzLFxuICAgICAgTW9uaXRvclR5cGUuTE9HX0VSUk9SX01PTklUT1IsXG4gICAgICB0aGlzLmNyZWF0ZUxvZ0Vycm9yTW9uaXRvcigpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvZ0Vycm9yTW9uaXRvcigpOiBMb2dBbGFybVByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXV0b0Nsb3NlT3BzR2VuaWVBbGVydHM6IHRydWUsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICB1bml0T2ZQZXJpb2Q6IFVuaXRPZlBlcmlvZC5NSU5VVEVTLCAvLyB0b0RvOiBtb3ZlIHRoYXQgc29tZXdoZXJlIGVsc2UgYW5kIHNldCBkZWZhdWx0cyB0aGVyZT9cbiAgICAgIHBlcmlvZE9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICAgIHN0YXRpc3RpYzogJ2NvdW50JyxcbiAgICAgIHF1ZXJ5RmlsdGVyczogJ2Vycm9yJyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdXRvLWdlbmVyYXRlZCBhbGVydCBmb3IgZXJyb3IgbG9ncycsXG4gICAgICB0aHJlc2hvbGQ6IDEsXG4gICAgICBwcmlvcml0eTogMyxcbiAgICAgIGluZGV4OiAnKicsIC8vIHRvRG86IHdlIHNob3VsZCB0YWtlIGhlcmUgdGhlIHRlYW0gbmFtZSBidXQgZm9yIG9sZGVyIHNldHVwcyB0byB3b3JrIHdlIGtlZXAgdGhhdCBmb3IgY29tcGF0aWJpbGl0eVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNwdVV0aWxpemF0aW9uTW9uaXRvcihcbiAgICBjcHVVdGlsaXphdGlvblRocmVzaG9sZFBlcmNlbnQ6IG51bWJlciA9IERFRkFVTFRfQ1BVX1VUSUxJWkFUSU9OX1RIUkVTSE9MRF9QRVJDRU5ULFxuICApOiBNZXRyaWNBbGFybVByb3BzIHtcbiAgICBjb25zdCBjcHVVdGlsaXphdGlvbk1ldHJpYyA9IHRoaXMuc2VydmljZS5tZXRyaWNDcHVVdGlsaXphdGlvbigpLndpdGgoeyBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTApIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBtZXRyaWM6IGNwdVV0aWxpemF0aW9uTWV0cmljLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYEF2ZXJhZ2UgQ1BVIHV0aWxpemF0aW9uIG92ZXIgbGFzdCAxMCBtaW51dGVzIGhpZ2hlciB0aGFuICR7Y3B1VXRpbGl6YXRpb25UaHJlc2hvbGRQZXJjZW50fSVgLFxuICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjdy5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIHRocmVzaG9sZDogY3B1VXRpbGl6YXRpb25UaHJlc2hvbGRQZXJjZW50LFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTWVtb3J5VXRpbGl6YXRpb25Nb25pdG9yKFxuICAgIG1lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudDogbnVtYmVyID0gREVGQVVMVF9NRU1PUllfVVRJTElaQVRJT05fVEhSRVNIT0xEX1BFUkNFTlQsXG4gICk6IE1ldHJpY0FsYXJtUHJvcHMge1xuICAgIGNvbnN0IG1lbW9yeVV0aWxpemF0aW9uTWV0cmljID0gdGhpcy5zZXJ2aWNlXG4gICAgICAubWV0cmljTWVtb3J5VXRpbGl6YXRpb24oKVxuICAgICAgLndpdGgoeyBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTApIH0pO1xuXG4gICAgY29uc3QgbWFwcGVkTWV0cmljID0gbmV3IGN3Lk1ldHJpYyh7XG4gICAgICAuLi5tZW1vcnlVdGlsaXphdGlvbk1ldHJpYyBhcyBNZXRyaWNQcm9wcyxcbiAgICAgIG1ldHJpY05hbWU6IGAke21lbW9yeVV0aWxpemF0aW9uTWV0cmljLm1ldHJpY05hbWV9Lm1heGltdW1gLFxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBtZXRyaWM6IG1hcHBlZE1ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBNYXhpbXVtIG1lbW9yeSB1dGlsaXphdGlvbiBvdmVyIGxhc3QgMTAgbWludXRlcyBoaWdoZXIgdGhhbiAke21lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudH0lYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB0aHJlc2hvbGQ6IG1lbW9yeVV0aWxpemF0aW9uVGhyZXNob2xkUGVyY2VudCxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIH07XG4gIH1cblxufVxuIl19
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "CDK constructs to build RIO flavored CI/CD pipeline in AWS.",
4
4
  "repository": {
5
5
  "type": "git",
6
- "url": "https://collaboration.msi.audi.com/stash/scm/riodev/cdk-v2-constructs.git"
6
+ "url": "https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/"
7
7
  },
8
8
  "author": {
9
9
  "name": "TB Digital Services GmbH",
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "main": "lib/index.js",
17
17
  "license": "Apache-2.0",
18
- "version": "4.30.0",
18
+ "version": "4.31.1",
19
19
  "types": "lib/index.d.ts",
20
20
  "stability": "stable",
21
21
  "exports": {
@@ -36,9 +36,9 @@
36
36
  "announce": false
37
37
  },
38
38
  "commit-and-tag-version": {
39
- "commitUrlFormat": "https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/{{hash}}",
40
- "compareUrlFormat": "{{host}}/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2F{{previousTag}}&sourceBranch=refs%2Ftags%2F{{currentTag}}",
41
- "issueUrlFormat": "https://collaboration.msi.audi.com/jira/browse/{{id}}",
39
+ "commitUrlFormat": "https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/{{hash}}",
40
+ "compareUrlFormat": "{{host}}/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2F{{previousTag}}&sourceBranch=refs%2Ftags%2F{{currentTag}}",
41
+ "issueUrlFormat": "https://jira.collaboration-man.com/browse/{{id}}",
42
42
  "scripts": {
43
43
  "postbump": "git add API.md"
44
44
  }
@@ -66,8 +66,8 @@
66
66
  "@types/node": "20.9.4",
67
67
  "@typescript-eslint/eslint-plugin": "6.12.0",
68
68
  "@typescript-eslint/parser": "6.12.0",
69
- "aws-cdk": "^2.110.1",
70
- "aws-cdk-lib": "2.110.1",
69
+ "aws-cdk": "^2.128.0",
70
+ "aws-cdk-lib": "2.128.0",
71
71
  "commit-and-tag-version": "^12.2.0",
72
72
  "constructs": "10.3.0",
73
73
  "copyfiles": "2.4.1",
@@ -87,7 +87,7 @@
87
87
  "typescript": "~5.3.2"
88
88
  },
89
89
  "peerDependencies": {
90
- "aws-cdk-lib": "^2.110.1",
90
+ "aws-cdk-lib": "^2.128.0",
91
91
  "constructs": "^10.3.0"
92
92
  },
93
93
  "dependencies": {
package/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "4.30.0"
2
+ "version": "4.31.1"
3
3
  }