@aws-cdk/aws-imagebuilder-alpha 2.246.0-alpha.0 → 2.248.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -11,7 +11,7 @@
11
11
  "yaml": "1.10.3"
12
12
  },
13
13
  "dependencies": {
14
- "aws-cdk-lib": "^2.246.0",
14
+ "aws-cdk-lib": "^2.248.0",
15
15
  "constructs": "^10.5.0"
16
16
  },
17
17
  "dependencyClosure": {
@@ -2030,6 +2030,19 @@
2030
2030
  }
2031
2031
  }
2032
2032
  },
2033
+ "aws-cdk-lib.aws_interconnect": {
2034
+ "targets": {
2035
+ "dotnet": {
2036
+ "namespace": "Amazon.CDK.AWS.Interconnect"
2037
+ },
2038
+ "java": {
2039
+ "package": "software.amazon.awscdk.services.interconnect"
2040
+ },
2041
+ "python": {
2042
+ "module": "aws_cdk.aws_interconnect"
2043
+ }
2044
+ }
2045
+ },
2033
2046
  "aws-cdk-lib.aws_internetmonitor": {
2034
2047
  "targets": {
2035
2048
  "dotnet": {
@@ -3957,6 +3970,19 @@
3957
3970
  }
3958
3971
  }
3959
3972
  },
3973
+ "aws-cdk-lib.aws_uxc": {
3974
+ "targets": {
3975
+ "dotnet": {
3976
+ "namespace": "Amazon.CDK.AWS.UXC"
3977
+ },
3978
+ "java": {
3979
+ "package": "software.amazon.awscdk.services.uxc"
3980
+ },
3981
+ "python": {
3982
+ "module": "aws_cdk.aws_uxc"
3983
+ }
3984
+ }
3985
+ },
3960
3986
  "aws-cdk-lib.aws_verifiedpermissions": {
3961
3987
  "targets": {
3962
3988
  "dotnet": {
@@ -6249,6 +6275,22 @@
6249
6275
  }
6250
6276
  }
6251
6277
  },
6278
+ "aws-cdk-lib.interfaces.aws_interconnect": {
6279
+ "targets": {
6280
+ "dotnet": {
6281
+ "namespace": "Amazon.CDK.Interfaces.Interconnect"
6282
+ },
6283
+ "go": {
6284
+ "packageName": "interfacesawsinterconnect"
6285
+ },
6286
+ "java": {
6287
+ "package": "software.amazon.awscdk.interfaces.interconnect"
6288
+ },
6289
+ "python": {
6290
+ "module": "aws_cdk.interfaces.aws_interconnect"
6291
+ }
6292
+ }
6293
+ },
6252
6294
  "aws-cdk-lib.interfaces.aws_internetmonitor": {
6253
6295
  "targets": {
6254
6296
  "dotnet": {
@@ -8393,6 +8435,22 @@
8393
8435
  }
8394
8436
  }
8395
8437
  },
8438
+ "aws-cdk-lib.interfaces.aws_uxc": {
8439
+ "targets": {
8440
+ "dotnet": {
8441
+ "namespace": "Amazon.CDK.Interfaces.UXC"
8442
+ },
8443
+ "go": {
8444
+ "packageName": "interfacesawsuxc"
8445
+ },
8446
+ "java": {
8447
+ "package": "software.amazon.awscdk.interfaces.uxc"
8448
+ },
8449
+ "python": {
8450
+ "module": "aws_cdk.interfaces.aws_uxc"
8451
+ }
8452
+ }
8453
+ },
8396
8454
  "aws-cdk-lib.interfaces.aws_verifiedpermissions": {
8397
8455
  "targets": {
8398
8456
  "dotnet": {
@@ -8787,7 +8845,7 @@
8787
8845
  "kind": "class",
8788
8846
  "locationInModule": {
8789
8847
  "filename": "lib/amazon-managed-component.ts",
8790
- "line": 50
8848
+ "line": 51
8791
8849
  },
8792
8850
  "methods": [
8793
8851
  {
@@ -8797,7 +8855,7 @@
8797
8855
  },
8798
8856
  "locationInModule": {
8799
8857
  "filename": "lib/amazon-managed-component.ts",
8800
- "line": 58
8858
+ "line": 59
8801
8859
  },
8802
8860
  "name": "awsCliV2",
8803
8861
  "parameters": [
@@ -8843,7 +8901,7 @@
8843
8901
  },
8844
8902
  "locationInModule": {
8845
8903
  "filename": "lib/amazon-managed-component.ts",
8846
- "line": 126
8904
+ "line": 127
8847
8905
  },
8848
8906
  "name": "fromAmazonManagedComponentAttributes",
8849
8907
  "parameters": [
@@ -8889,7 +8947,7 @@
8889
8947
  },
8890
8948
  "locationInModule": {
8891
8949
  "filename": "lib/amazon-managed-component.ts",
8892
- "line": 149
8950
+ "line": 150
8893
8951
  },
8894
8952
  "name": "fromAmazonManagedComponentName",
8895
8953
  "parameters": [
@@ -8935,7 +8993,7 @@
8935
8993
  },
8936
8994
  "locationInModule": {
8937
8995
  "filename": "lib/amazon-managed-component.ts",
8938
- "line": 69
8996
+ "line": 70
8939
8997
  },
8940
8998
  "name": "helloWorld",
8941
8999
  "parameters": [
@@ -8981,7 +9039,7 @@
8981
9039
  },
8982
9040
  "locationInModule": {
8983
9041
  "filename": "lib/amazon-managed-component.ts",
8984
- "line": 80
9042
+ "line": 81
8985
9043
  },
8986
9044
  "name": "python3",
8987
9045
  "parameters": [
@@ -9027,7 +9085,7 @@
9027
9085
  },
9028
9086
  "locationInModule": {
9029
9087
  "filename": "lib/amazon-managed-component.ts",
9030
- "line": 91
9088
+ "line": 92
9031
9089
  },
9032
9090
  "name": "reboot",
9033
9091
  "parameters": [
@@ -9074,7 +9132,7 @@
9074
9132
  },
9075
9133
  "locationInModule": {
9076
9134
  "filename": "lib/amazon-managed-component.ts",
9077
- "line": 104
9135
+ "line": 105
9078
9136
  },
9079
9137
  "name": "stigBuild",
9080
9138
  "parameters": [
@@ -9120,7 +9178,7 @@
9120
9178
  },
9121
9179
  "locationInModule": {
9122
9180
  "filename": "lib/amazon-managed-component.ts",
9123
- "line": 115
9181
+ "line": 116
9124
9182
  },
9125
9183
  "name": "updateOs",
9126
9184
  "parameters": [
@@ -9178,7 +9236,7 @@
9178
9236
  "kind": "interface",
9179
9237
  "locationInModule": {
9180
9238
  "filename": "lib/amazon-managed-component.ts",
9181
- "line": 11
9239
+ "line": 12
9182
9240
  },
9183
9241
  "name": "AmazonManagedComponentAttributes",
9184
9242
  "properties": [
@@ -9191,7 +9249,7 @@
9191
9249
  "immutable": true,
9192
9250
  "locationInModule": {
9193
9251
  "filename": "lib/amazon-managed-component.ts",
9194
- "line": 15
9252
+ "line": 16
9195
9253
  },
9196
9254
  "name": "componentName",
9197
9255
  "type": {
@@ -9208,7 +9266,7 @@
9208
9266
  "immutable": true,
9209
9267
  "locationInModule": {
9210
9268
  "filename": "lib/amazon-managed-component.ts",
9211
- "line": 22
9269
+ "line": 23
9212
9270
  },
9213
9271
  "name": "componentVersion",
9214
9272
  "optional": true,
@@ -9234,7 +9292,7 @@
9234
9292
  "kind": "interface",
9235
9293
  "locationInModule": {
9236
9294
  "filename": "lib/amazon-managed-component.ts",
9237
- "line": 28
9295
+ "line": 29
9238
9296
  },
9239
9297
  "name": "AmazonManagedComponentOptions",
9240
9298
  "properties": [
@@ -9247,7 +9305,7 @@
9247
9305
  "immutable": true,
9248
9306
  "locationInModule": {
9249
9307
  "filename": "lib/amazon-managed-component.ts",
9250
- "line": 32
9308
+ "line": 33
9251
9309
  },
9252
9310
  "name": "platform",
9253
9311
  "type": {
@@ -9264,7 +9322,7 @@
9264
9322
  "immutable": true,
9265
9323
  "locationInModule": {
9266
9324
  "filename": "lib/amazon-managed-component.ts",
9267
- "line": 39
9325
+ "line": 40
9268
9326
  },
9269
9327
  "name": "componentVersion",
9270
9328
  "optional": true,
@@ -9294,7 +9352,7 @@
9294
9352
  "kind": "class",
9295
9353
  "locationInModule": {
9296
9354
  "filename": "lib/amazon-managed-image.ts",
9297
- "line": 55
9355
+ "line": 56
9298
9356
  },
9299
9357
  "methods": [
9300
9358
  {
@@ -9305,7 +9363,7 @@
9305
9363
  },
9306
9364
  "locationInModule": {
9307
9365
  "filename": "lib/amazon-managed-image.ts",
9308
- "line": 66
9366
+ "line": 67
9309
9367
  },
9310
9368
  "name": "amazonLinux2",
9311
9369
  "parameters": [
@@ -9352,7 +9410,7 @@
9352
9410
  },
9353
9411
  "locationInModule": {
9354
9412
  "filename": "lib/amazon-managed-image.ts",
9355
- "line": 80
9413
+ "line": 81
9356
9414
  },
9357
9415
  "name": "amazonLinux2023",
9358
9416
  "parameters": [
@@ -9398,7 +9456,7 @@
9398
9456
  },
9399
9457
  "locationInModule": {
9400
9458
  "filename": "lib/amazon-managed-image.ts",
9401
- "line": 277
9459
+ "line": 278
9402
9460
  },
9403
9461
  "name": "fromAmazonManagedImageAttributes",
9404
9462
  "parameters": [
@@ -9444,7 +9502,7 @@
9444
9502
  },
9445
9503
  "locationInModule": {
9446
9504
  "filename": "lib/amazon-managed-image.ts",
9447
- "line": 301
9505
+ "line": 302
9448
9506
  },
9449
9507
  "name": "fromAmazonManagedImageName",
9450
9508
  "parameters": [
@@ -9491,7 +9549,7 @@
9491
9549
  },
9492
9550
  "locationInModule": {
9493
9551
  "filename": "lib/amazon-managed-image.ts",
9494
- "line": 253
9552
+ "line": 254
9495
9553
  },
9496
9554
  "name": "macOS14",
9497
9555
  "parameters": [
@@ -9538,7 +9596,7 @@
9538
9596
  },
9539
9597
  "locationInModule": {
9540
9598
  "filename": "lib/amazon-managed-image.ts",
9541
- "line": 266
9599
+ "line": 267
9542
9600
  },
9543
9601
  "name": "macOS15",
9544
9602
  "parameters": [
@@ -9585,7 +9643,7 @@
9585
9643
  },
9586
9644
  "locationInModule": {
9587
9645
  "filename": "lib/amazon-managed-image.ts",
9588
- "line": 93
9646
+ "line": 94
9589
9647
  },
9590
9648
  "name": "redHatEnterpriseLinux10",
9591
9649
  "parameters": [
@@ -9632,7 +9690,7 @@
9632
9690
  },
9633
9691
  "locationInModule": {
9634
9692
  "filename": "lib/amazon-managed-image.ts",
9635
- "line": 106
9693
+ "line": 107
9636
9694
  },
9637
9695
  "name": "suseLinuxEnterpriseServer15",
9638
9696
  "parameters": [
@@ -9679,7 +9737,7 @@
9679
9737
  },
9680
9738
  "locationInModule": {
9681
9739
  "filename": "lib/amazon-managed-image.ts",
9682
- "line": 120
9740
+ "line": 121
9683
9741
  },
9684
9742
  "name": "ubuntuServer2204",
9685
9743
  "parameters": [
@@ -9726,7 +9784,7 @@
9726
9784
  },
9727
9785
  "locationInModule": {
9728
9786
  "filename": "lib/amazon-managed-image.ts",
9729
- "line": 134
9787
+ "line": 135
9730
9788
  },
9731
9789
  "name": "ubuntuServer2404",
9732
9790
  "parameters": [
@@ -9773,7 +9831,7 @@
9773
9831
  },
9774
9832
  "locationInModule": {
9775
9833
  "filename": "lib/amazon-managed-image.ts",
9776
- "line": 148
9834
+ "line": 149
9777
9835
  },
9778
9836
  "name": "windowsServer2016Core",
9779
9837
  "parameters": [
@@ -9820,7 +9878,7 @@
9820
9878
  },
9821
9879
  "locationInModule": {
9822
9880
  "filename": "lib/amazon-managed-image.ts",
9823
- "line": 161
9881
+ "line": 162
9824
9882
  },
9825
9883
  "name": "windowsServer2016Full",
9826
9884
  "parameters": [
@@ -9867,7 +9925,7 @@
9867
9925
  },
9868
9926
  "locationInModule": {
9869
9927
  "filename": "lib/amazon-managed-image.ts",
9870
- "line": 175
9928
+ "line": 176
9871
9929
  },
9872
9930
  "name": "windowsServer2019Core",
9873
9931
  "parameters": [
@@ -9914,7 +9972,7 @@
9914
9972
  },
9915
9973
  "locationInModule": {
9916
9974
  "filename": "lib/amazon-managed-image.ts",
9917
- "line": 188
9975
+ "line": 189
9918
9976
  },
9919
9977
  "name": "windowsServer2019Full",
9920
9978
  "parameters": [
@@ -9961,7 +10019,7 @@
9961
10019
  },
9962
10020
  "locationInModule": {
9963
10021
  "filename": "lib/amazon-managed-image.ts",
9964
- "line": 201
10022
+ "line": 202
9965
10023
  },
9966
10024
  "name": "windowsServer2022Core",
9967
10025
  "parameters": [
@@ -10008,7 +10066,7 @@
10008
10066
  },
10009
10067
  "locationInModule": {
10010
10068
  "filename": "lib/amazon-managed-image.ts",
10011
- "line": 214
10069
+ "line": 215
10012
10070
  },
10013
10071
  "name": "windowsServer2022Full",
10014
10072
  "parameters": [
@@ -10055,7 +10113,7 @@
10055
10113
  },
10056
10114
  "locationInModule": {
10057
10115
  "filename": "lib/amazon-managed-image.ts",
10058
- "line": 227
10116
+ "line": 228
10059
10117
  },
10060
10118
  "name": "windowsServer2025Core",
10061
10119
  "parameters": [
@@ -10102,7 +10160,7 @@
10102
10160
  },
10103
10161
  "locationInModule": {
10104
10162
  "filename": "lib/amazon-managed-image.ts",
10105
- "line": 240
10163
+ "line": 241
10106
10164
  },
10107
10165
  "name": "windowsServer2025Full",
10108
10166
  "parameters": [
@@ -10160,7 +10218,7 @@
10160
10218
  "kind": "interface",
10161
10219
  "locationInModule": {
10162
10220
  "filename": "lib/amazon-managed-image.ts",
10163
- "line": 10
10221
+ "line": 11
10164
10222
  },
10165
10223
  "name": "AmazonManagedImageAttributes",
10166
10224
  "properties": [
@@ -10174,7 +10232,7 @@
10174
10232
  "immutable": true,
10175
10233
  "locationInModule": {
10176
10234
  "filename": "lib/amazon-managed-image.ts",
10177
- "line": 15
10235
+ "line": 16
10178
10236
  },
10179
10237
  "name": "imageName",
10180
10238
  "type": {
@@ -10191,7 +10249,7 @@
10191
10249
  "immutable": true,
10192
10250
  "locationInModule": {
10193
10251
  "filename": "lib/amazon-managed-image.ts",
10194
- "line": 22
10252
+ "line": 23
10195
10253
  },
10196
10254
  "name": "imageVersion",
10197
10255
  "optional": true,
@@ -10217,7 +10275,7 @@
10217
10275
  "kind": "interface",
10218
10276
  "locationInModule": {
10219
10277
  "filename": "lib/amazon-managed-image.ts",
10220
- "line": 28
10278
+ "line": 29
10221
10279
  },
10222
10280
  "name": "AmazonManagedImageOptions",
10223
10281
  "properties": [
@@ -10230,7 +10288,7 @@
10230
10288
  "immutable": true,
10231
10289
  "locationInModule": {
10232
10290
  "filename": "lib/amazon-managed-image.ts",
10233
- "line": 32
10291
+ "line": 33
10234
10292
  },
10235
10293
  "name": "imageArchitecture",
10236
10294
  "type": {
@@ -10246,7 +10304,7 @@
10246
10304
  "immutable": true,
10247
10305
  "locationInModule": {
10248
10306
  "filename": "lib/amazon-managed-image.ts",
10249
- "line": 37
10307
+ "line": 38
10250
10308
  },
10251
10309
  "name": "imageType",
10252
10310
  "type": {
@@ -10263,7 +10321,7 @@
10263
10321
  "immutable": true,
10264
10322
  "locationInModule": {
10265
10323
  "filename": "lib/amazon-managed-image.ts",
10266
- "line": 44
10324
+ "line": 45
10267
10325
  },
10268
10326
  "name": "imageVersion",
10269
10327
  "optional": true,
@@ -10293,7 +10351,7 @@
10293
10351
  "kind": "class",
10294
10352
  "locationInModule": {
10295
10353
  "filename": "lib/amazon-managed-workflow.ts",
10296
- "line": 25
10354
+ "line": 26
10297
10355
  },
10298
10356
  "methods": [
10299
10357
  {
@@ -10303,7 +10361,7 @@
10303
10361
  },
10304
10362
  "locationInModule": {
10305
10363
  "filename": "lib/amazon-managed-workflow.ts",
10306
- "line": 32
10364
+ "line": 33
10307
10365
  },
10308
10366
  "name": "buildContainer",
10309
10367
  "parameters": [
@@ -10340,7 +10398,7 @@
10340
10398
  },
10341
10399
  "locationInModule": {
10342
10400
  "filename": "lib/amazon-managed-workflow.ts",
10343
- "line": 45
10401
+ "line": 46
10344
10402
  },
10345
10403
  "name": "buildImage",
10346
10404
  "parameters": [
@@ -10377,7 +10435,7 @@
10377
10435
  },
10378
10436
  "locationInModule": {
10379
10437
  "filename": "lib/amazon-managed-workflow.ts",
10380
- "line": 58
10438
+ "line": 59
10381
10439
  },
10382
10440
  "name": "distributeContainer",
10383
10441
  "parameters": [
@@ -10414,7 +10472,7 @@
10414
10472
  },
10415
10473
  "locationInModule": {
10416
10474
  "filename": "lib/amazon-managed-workflow.ts",
10417
- "line": 71
10475
+ "line": 72
10418
10476
  },
10419
10477
  "name": "distributeImage",
10420
10478
  "parameters": [
@@ -10451,7 +10509,7 @@
10451
10509
  },
10452
10510
  "locationInModule": {
10453
10511
  "filename": "lib/amazon-managed-workflow.ts",
10454
- "line": 111
10512
+ "line": 112
10455
10513
  },
10456
10514
  "name": "fromAmazonManagedWorkflowAttributes",
10457
10515
  "parameters": [
@@ -10497,7 +10555,7 @@
10497
10555
  },
10498
10556
  "locationInModule": {
10499
10557
  "filename": "lib/amazon-managed-workflow.ts",
10500
- "line": 84
10558
+ "line": 85
10501
10559
  },
10502
10560
  "name": "testContainer",
10503
10561
  "parameters": [
@@ -10534,7 +10592,7 @@
10534
10592
  },
10535
10593
  "locationInModule": {
10536
10594
  "filename": "lib/amazon-managed-workflow.ts",
10537
- "line": 97
10595
+ "line": 98
10538
10596
  },
10539
10597
  "name": "testImage",
10540
10598
  "parameters": [
@@ -10583,7 +10641,7 @@
10583
10641
  "kind": "interface",
10584
10642
  "locationInModule": {
10585
10643
  "filename": "lib/amazon-managed-workflow.ts",
10586
- "line": 10
10644
+ "line": 11
10587
10645
  },
10588
10646
  "name": "AmazonManagedWorkflowAttributes",
10589
10647
  "properties": [
@@ -10596,7 +10654,7 @@
10596
10654
  "immutable": true,
10597
10655
  "locationInModule": {
10598
10656
  "filename": "lib/amazon-managed-workflow.ts",
10599
- "line": 14
10657
+ "line": 15
10600
10658
  },
10601
10659
  "name": "workflowName",
10602
10660
  "type": {
@@ -10612,7 +10670,7 @@
10612
10670
  "immutable": true,
10613
10671
  "locationInModule": {
10614
10672
  "filename": "lib/amazon-managed-workflow.ts",
10615
- "line": 19
10673
+ "line": 20
10616
10674
  },
10617
10675
  "name": "workflowType",
10618
10676
  "type": {
@@ -14583,7 +14641,7 @@
14583
14641
  },
14584
14642
  "locationInModule": {
14585
14643
  "filename": "core/lib/resource.ts",
14586
- "line": 120
14644
+ "line": 121
14587
14645
  },
14588
14646
  "parameters": [
14589
14647
  {
@@ -24844,6 +24902,6 @@
24844
24902
  "symbolId": "lib/workflow:WorkflowType"
24845
24903
  }
24846
24904
  },
24847
- "version": "2.246.0-alpha.0",
24905
+ "version": "2.248.0-alpha.0",
24848
24906
  "fingerprint": "**********"
24849
24907
  }
@@ -4,6 +4,7 @@ exports.AmazonManagedComponent = void 0;
4
4
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const cdk = require("aws-cdk-lib");
7
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
7
8
  const component_1 = require("./component");
8
9
  const os_version_1 = require("./os-version");
9
10
  const constants_1 = require("./private/constants");
@@ -11,7 +12,7 @@ const constants_1 = require("./private/constants");
11
12
  * Helper class for working with Amazon-managed components
12
13
  */
13
14
  class AmazonManagedComponent {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedComponent", version: "2.246.0-alpha.0" };
15
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.AmazonManagedComponent", version: "2.248.0-alpha.0" };
15
16
  /**
16
17
  * Imports the AWS CLI v2 Amazon-managed component
17
18
  *
@@ -206,17 +207,17 @@ class AmazonManagedComponent {
206
207
  };
207
208
  static validatePredefinedManagedComponentOptions(scope, opts, component) {
208
209
  if (opts.platform === undefined) {
209
- throw new cdk.ValidationError('PlatformRequired', `a platform is required for ${component}`, scope);
210
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `PlatformRequired`, `a platform is required for ${component}`, scope);
210
211
  }
211
212
  if (cdk.Token.isUnresolved(opts.platform)) {
212
- throw new cdk.ValidationError('PlatformCannotBeToken', `platform cannot be a token for ${component}`, scope);
213
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `PlatformCannotBeToken`, `platform cannot be a token for ${component}`, scope);
213
214
  }
214
215
  }
215
216
  static predefinedManagedComponent(scope, id, opts, config) {
216
217
  this.validatePredefinedManagedComponentOptions(scope, opts, config.component);
217
218
  const componentName = config.supportedPlatforms[opts.platform];
218
219
  if (!componentName) {
219
- throw new cdk.ValidationError('UnsupportedPlatform', `${opts.platform} is not a supported platform for ${config.component}`, scope);
220
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `UnsupportedPlatform`, `${opts.platform} is not a supported platform for ${config.component}`, scope);
220
221
  }
221
222
  return this.fromAmazonManagedComponentAttributes(scope, id, {
222
223
  componentName,
@@ -225,4 +226,4 @@ class AmazonManagedComponent {
225
226
  }
226
227
  }
227
228
  exports.AmazonManagedComponent = AmazonManagedComponent;
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBR25DLDJDQUF3QztBQUN4Qyw2Q0FBd0M7QUFDeEMsbURBQXFEO0FBeUNyRDs7R0FFRztBQUNILE1BQXNCLHNCQUFzQjs7SUFDMUM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUFtQzs7Ozs7Ozs7OztRQUN0RixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNqRjtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBbUM7Ozs7Ozs7Ozs7UUFDeEYsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDbEY7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQW1DOzs7Ozs7Ozs7O1FBQ3JGLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUMvRTtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBbUM7Ozs7Ozs7Ozs7UUFDcEYsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tB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RUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3hDLENBQUMsQ0FBQztLQUNKOztBQTNMSCx3REE0TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnLi9vcy12ZXJzaW9uJztcbmltcG9ydCB7IExBVEVTVF9WRVJTSU9OIH0gZnJvbSAnLi9wcml2YXRlL2NvbnN0YW50cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYW4gRUMyIEltYWdlIEJ1aWxkZXIgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb21wb25lbnQsIHgueC54XG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnRWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHNlbGVjdGluZyBhIHByZWRlZmluZWQgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcGxhdGZvcm0gb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IFBsYXRmb3JtO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb21wb25lbnQsIHgueC54XG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnRWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudDogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0ZWRQbGF0Zm9ybXM6IHsgW3BsYXRmb3JtIGluIFBsYXRmb3JtXT86IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFtYXpvbk1hbmFnZWRDb21wb25lbnQge1xuICAvKipcbiAgICogSW1wb3J0cyB0aGUgQVdTIENMSSB2MiBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXdzQ2xpVjIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuQVdTX0NMSV9WMl9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIGhlbGxvIHdvcmxkIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoZWxsb1dvcmxkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRPcHRpb25zKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnQoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLkhFTExPX1dPUkxEX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgUHl0aG9uIDMgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHB5dGhvbjMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuUFlUSE9OXzNfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSByZWJvb3QgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYm9vdChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5SRUJPT1RfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBTVElHIGhhcmRlbmluZyBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IG9wdGlvbnNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaW1hZ2VidWlsZGVyL2xhdGVzdC91c2VyZ3VpZGUvaWItc3RpZy5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0aWdCdWlsZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5TVElHX0JVSUxEX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgT1MgdXBkYXRlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVPcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5VUERBVEVfT1NfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBmcm9tIGl0cyBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyxcbiAgKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIENvbXBvbmVudC5mcm9tQ29tcG9uZW50QXJuKFxuICAgICAgc2NvcGUsXG4gICAgICBpZCxcbiAgICAgIGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogJ2ltYWdlYnVpbGRlcicsXG4gICAgICAgIGFjY291bnQ6ICdhd3MnLFxuICAgICAgICByZXNvdXJjZTogJ2NvbXBvbmVudCcsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMuY29tcG9uZW50TmFtZX0vJHthdHRycy5jb21wb25lbnRWZXJzaW9uID8/IExBVEVTVF9WRVJTSU9OfWAsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBmcm9tIGl0cyBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZENvbXBvbmVudE5hbWUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lOiBzdHJpbmcsXG4gICk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyhzY29wZSwgaWQsIHsgY29tcG9uZW50TmFtZTogYW1hem9uTWFuYWdlZENvbXBvbmVudE5hbWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBV1NfQ0xJX1YyX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICdhd3NDbGlWMicsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnYXdzLWNsaS12ZXJzaW9uLTItbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAnYXdzLWNsaS12ZXJzaW9uLTItd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBIRUxMT19XT1JMRF9DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAnaGVsbG9Xb3JsZCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnaGVsbG8td29ybGQtbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAnaGVsbG8td29ybGQtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQWVRIT05fM19DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAncHl0aG9uMycsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAncHl0aG9uLTMtbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAncHl0aG9uLTMtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSRUJPT1RfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ3JlYm9vdCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAncmVib290LWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ3JlYm9vdC13aW5kb3dzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUSUdfQlVJTERfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ3N0aWdCdWlsZCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnc3RpZy1idWlsZC1saW51eCcsXG4gICAgICBbUGxhdGZvcm0uV0lORE9XU106ICdzdGlnLWJ1aWxkLXdpbmRvd3MnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVVBEQVRFX09TX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICd1cGRhdGVPUycsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAndXBkYXRlLWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ3VwZGF0ZS13aW5kb3dzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlUHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnRPcHRpb25zKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMsXG4gICAgY29tcG9uZW50OiBzdHJpbmcsXG4gICkge1xuICAgIGlmIChvcHRzLnBsYXRmb3JtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdQbGF0Zm9ybVJlcXVpcmVkJywgYGEgcGxhdGZvcm0gaXMgcmVxdWlyZWQgZm9yICR7Y29tcG9uZW50fWAsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLnBsYXRmb3JtKSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ1BsYXRmb3JtQ2Fubm90QmVUb2tlbicsIGBwbGF0Zm9ybSBjYW5ub3QgYmUgYSB0b2tlbiBmb3IgJHtjb21wb25lbnR9YCwgc2NvcGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyxcbiAgICBjb25maWc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcsXG4gICk6IElDb21wb25lbnQge1xuICAgIHRoaXMudmFsaWRhdGVQcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudE9wdGlvbnMoc2NvcGUsIG9wdHMsIGNvbmZpZy5jb21wb25lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IGNvbmZpZy5zdXBwb3J0ZWRQbGF0Zm9ybXNbb3B0cy5wbGF0Zm9ybV07XG5cbiAgICBpZiAoIWNvbXBvbmVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdVbnN1cHBvcnRlZFBsYXRmb3JtJywgYCR7b3B0cy5wbGF0Zm9ybX0gaXMgbm90IGEgc3VwcG9ydGVkIHBsYXRmb3JtIGZvciAke2NvbmZpZy5jb21wb25lbnR9YCwgc2NvcGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnRWZXJzaW9uOiBvcHRzLmNvbXBvbmVudFZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW1hem9uLW1hbmFnZWQtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDRFQUE0RDtBQUc1RCwyQ0FBd0M7QUFDeEMsNkNBQXdDO0FBQ3hDLG1EQUFxRDtBQXlDckQ7O0dBRUc7QUFDSCxNQUFzQixzQkFBc0I7O0lBQzFDOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBbUM7Ozs7Ozs7Ozs7UUFDdEYsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDakY7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQW1DOzs7Ozs7Ozs7O1FBQ3hGLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xGO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUFtQzs7Ozs7Ozs7OztRQUNyRixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDL0U7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQW1DOzs7Ozs7Ozs7O1FBQ3BGLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFh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LENBQUMsb0NBQW9DLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMxRCxhQUFhO1lBQ2IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDLENBQUM7S0FDSjs7QUEzTEgsd0RBNExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnLi9vcy12ZXJzaW9uJztcbmltcG9ydCB7IExBVEVTVF9WRVJTSU9OIH0gZnJvbSAnLi9wcml2YXRlL2NvbnN0YW50cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYW4gRUMyIEltYWdlIEJ1aWxkZXIgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb21wb25lbnQsIHgueC54XG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnRWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHNlbGVjdGluZyBhIHByZWRlZmluZWQgQW1hem9uLW1hbmFnZWQgaW1hZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcGxhdGZvcm0gb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IFBsYXRmb3JtO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb21wb25lbnQsIHgueC54XG4gICAqL1xuICByZWFkb25seSBjb21wb25lbnRWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudDogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0ZWRQbGF0Zm9ybXM6IHsgW3BsYXRmb3JtIGluIFBsYXRmb3JtXT86IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyBmb3Igd29ya2luZyB3aXRoIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFtYXpvbk1hbmFnZWRDb21wb25lbnQge1xuICAvKipcbiAgICogSW1wb3J0cyB0aGUgQVdTIENMSSB2MiBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXdzQ2xpVjIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuQVdTX0NMSV9WMl9DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgdGhlIGhlbGxvIHdvcmxkIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoZWxsb1dvcmxkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRPcHRpb25zKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMucHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnQoc2NvcGUsIGlkLCBvcHRzLCB0aGlzLkhFTExPX1dPUkxEX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgUHl0aG9uIDMgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHB5dGhvbjMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMpOiBJQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudChzY29wZSwgaWQsIG9wdHMsIHRoaXMuUFlUSE9OXzNfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSByZWJvb3QgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wdHMgVGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYm9vdChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5SRUJPT1RfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIHRoZSBTVElHIGhhcmRlbmluZyBBbWF6b24tbWFuYWdlZCBjb21wb25lbnRcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gb3B0cyBUaGUgQW1hem9uLW1hbmFnZWQgY29tcG9uZW50IG9wdGlvbnNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaW1hZ2VidWlsZGVyL2xhdGVzdC91c2VyZ3VpZGUvaWItc3RpZy5odG1sXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0aWdCdWlsZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5TVElHX0JVSUxEX0NPTkZJRyk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyB0aGUgT1MgdXBkYXRlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiB0aGUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBvcHRzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1cGRhdGVPcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KHNjb3BlLCBpZCwgb3B0cywgdGhpcy5VUERBVEVfT1NfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBmcm9tIGl0cyBhdHRyaWJ1dGVzXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBBbWF6b24tbWFuYWdlZCBjb21wb25lbnQgYXR0cmlidXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZENvbXBvbmVudEF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyxcbiAgKTogSUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIENvbXBvbmVudC5mcm9tQ29tcG9uZW50QXJuKFxuICAgICAgc2NvcGUsXG4gICAgICBpZCxcbiAgICAgIGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogJ2ltYWdlYnVpbGRlcicsXG4gICAgICAgIGFjY291bnQ6ICdhd3MnLFxuICAgICAgICByZXNvdXJjZTogJ2NvbXBvbmVudCcsXG4gICAgICAgIHJlc291cmNlTmFtZTogYCR7YXR0cnMuY29tcG9uZW50TmFtZX0vJHthdHRycy5jb21wb25lbnRWZXJzaW9uID8/IExBVEVTVF9WRVJTSU9OfWAsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudCBmcm9tIGl0cyBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IHNjb3BlXG4gICAqIEBwYXJhbSBpZCBJZGVudGlmaWVyIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIEFtYXpvbi1tYW5hZ2VkIGNvbXBvbmVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQW1hem9uTWFuYWdlZENvbXBvbmVudE5hbWUoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFtYXpvbk1hbmFnZWRDb21wb25lbnROYW1lOiBzdHJpbmcsXG4gICk6IElDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyhzY29wZSwgaWQsIHsgY29tcG9uZW50TmFtZTogYW1hem9uTWFuYWdlZENvbXBvbmVudE5hbWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBV1NfQ0xJX1YyX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICdhd3NDbGlWMicsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnYXdzLWNsaS12ZXJzaW9uLTItbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAnYXdzLWNsaS12ZXJzaW9uLTItd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBIRUxMT19XT1JMRF9DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAnaGVsbG9Xb3JsZCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnaGVsbG8td29ybGQtbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAnaGVsbG8td29ybGQtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQWVRIT05fM19DT05GSUc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgY29tcG9uZW50OiAncHl0aG9uMycsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAncHl0aG9uLTMtbGludXgnLFxuICAgICAgW1BsYXRmb3JtLldJTkRPV1NdOiAncHl0aG9uLTMtd2luZG93cycsXG4gICAgfSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSRUJPT1RfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ3JlYm9vdCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAncmVib290LWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ3JlYm9vdC13aW5kb3dzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUSUdfQlVJTERfQ09ORklHOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudDogJ3N0aWdCdWlsZCcsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAnc3RpZy1idWlsZC1saW51eCcsXG4gICAgICBbUGxhdGZvcm0uV0lORE9XU106ICdzdGlnLWJ1aWxkLXdpbmRvd3MnLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVVBEQVRFX09TX0NPTkZJRzogQW1hem9uTWFuYWdlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICBjb21wb25lbnQ6ICd1cGRhdGVPUycsXG4gICAgc3VwcG9ydGVkUGxhdGZvcm1zOiB7XG4gICAgICBbUGxhdGZvcm0uTElOVVhdOiAndXBkYXRlLWxpbnV4JyxcbiAgICAgIFtQbGF0Zm9ybS5XSU5ET1dTXTogJ3VwZGF0ZS13aW5kb3dzJyxcbiAgICB9LFxuICB9O1xuXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlUHJlZGVmaW5lZE1hbmFnZWRDb21wb25lbnRPcHRpb25zKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgb3B0czogQW1hem9uTWFuYWdlZENvbXBvbmVudE9wdGlvbnMsXG4gICAgY29tcG9uZW50OiBzdHJpbmcsXG4gICkge1xuICAgIGlmIChvcHRzLnBsYXRmb3JtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKGxpdGBQbGF0Zm9ybVJlcXVpcmVkYCwgYGEgcGxhdGZvcm0gaXMgcmVxdWlyZWQgZm9yICR7Y29tcG9uZW50fWAsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChvcHRzLnBsYXRmb3JtKSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YFBsYXRmb3JtQ2Fubm90QmVUb2tlbmAsIGBwbGF0Zm9ybSBjYW5ub3QgYmUgYSB0b2tlbiBmb3IgJHtjb21wb25lbnR9YCwgc2NvcGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHByZWRlZmluZWRNYW5hZ2VkQ29tcG9uZW50KFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcHRzOiBBbWF6b25NYW5hZ2VkQ29tcG9uZW50T3B0aW9ucyxcbiAgICBjb25maWc6IEFtYXpvbk1hbmFnZWRDb21wb25lbnRDb25maWcsXG4gICk6IElDb21wb25lbnQge1xuICAgIHRoaXMudmFsaWRhdGVQcmVkZWZpbmVkTWFuYWdlZENvbXBvbmVudE9wdGlvbnMoc2NvcGUsIG9wdHMsIGNvbmZpZy5jb21wb25lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IGNvbmZpZy5zdXBwb3J0ZWRQbGF0Zm9ybXNbb3B0cy5wbGF0Zm9ybV07XG5cbiAgICBpZiAoIWNvbXBvbmVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKGxpdGBVbnN1cHBvcnRlZFBsYXRmb3JtYCwgYCR7b3B0cy5wbGF0Zm9ybX0gaXMgbm90IGEgc3VwcG9ydGVkIHBsYXRmb3JtIGZvciAke2NvbmZpZy5jb21wb25lbnR9YCwgc2NvcGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZyb21BbWF6b25NYW5hZ2VkQ29tcG9uZW50QXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgICBjb21wb25lbnRWZXJzaW9uOiBvcHRzLmNvbXBvbmVudFZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==