@microsoft/terraform-cdk-constructs 1.8.0 → 2.2.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 +48328 -33656
- package/API.md +56123 -38995
- package/lib/azure-actiongroup/lib/action-group.d.ts +3 -3
- package/lib/azure-actiongroup/lib/action-group.js +5 -5
- package/lib/azure-actiongroup/test/action-group.integ.d.ts +1 -1
- package/lib/azure-actiongroup/test/action-group.integ.js +5 -5
- package/lib/azure-actiongroup/test/action-group.spec.js +9 -9
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +3 -3
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +5 -5
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +1 -1
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +6 -6
- package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +9 -9
- package/lib/azure-aks/lib/aks-cluster.d.ts +6 -6
- package/lib/azure-aks/lib/aks-cluster.js +8 -8
- package/lib/azure-aks/test/aks-cluster.integ.d.ts +1 -1
- package/lib/azure-aks/test/aks-cluster.integ.js +5 -5
- package/lib/azure-aks/test/aks-cluster.spec.js +12 -12
- package/lib/azure-containerapps/index.d.ts +1 -0
- package/lib/azure-containerapps/index.js +18 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
- package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
- package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
- package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
- package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
- package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
- package/lib/azure-containerapps/lib/container-app.js +320 -0
- package/lib/azure-containerapps/lib/index.d.ts +4 -0
- package/lib/azure-containerapps/lib/index.js +21 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
- package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app.integ.js +119 -0
- package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app.spec.js +839 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +3 -3
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +5 -5
- package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +7 -7
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +6 -6
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +6 -6
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +1 -1
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +5 -5
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +11 -11
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +14 -14
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +12 -12
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +8 -8
- package/lib/azure-dnsresolver/lib/dns-resolver.js +10 -10
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +6 -6
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +8 -8
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +7 -7
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +9 -9
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +5 -5
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +11 -11
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +12 -12
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +9 -9
- package/lib/azure-dnszone/lib/dns-zone.d.ts +6 -6
- package/lib/azure-dnszone/lib/dns-zone.js +8 -8
- package/lib/azure-dnszone/lib/records/dns-records.d.ts +31 -31
- package/lib/azure-dnszone/lib/records/dns-records.js +42 -42
- package/lib/azure-dnszone/test/dns-records.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-records.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-records.spec.js +57 -57
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-zone.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-zone.spec.js +11 -11
- package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
- package/lib/azure-loganalyticsworkspace/index.js +23 -0
- package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
- package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
- package/lib/azure-metricalert/lib/metric-alert.d.ts +3 -3
- package/lib/azure-metricalert/lib/metric-alert.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.integ.d.ts +1 -1
- package/lib/azure-metricalert/test/metric-alert.integ.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.spec.js +9 -9
- package/lib/azure-networkinterface/lib/network-interface.d.ts +5 -5
- package/lib/azure-networkinterface/lib/network-interface.js +7 -7
- package/lib/azure-networkinterface/test/network-interface.integ.d.ts +1 -1
- package/lib/azure-networkinterface/test/network-interface.integ.js +5 -5
- package/lib/azure-networkinterface/test/network-interface.spec.js +11 -11
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +6 -6
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +8 -8
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +1 -1
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +5 -5
- package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +12 -12
- package/lib/azure-networkwatcher/index.d.ts +14 -0
- package/lib/azure-networkwatcher/index.js +31 -0
- package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
- package/lib/azure-networkwatcher/lib/index.js +22 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
- package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
- package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +3 -3
- package/lib/azure-policyassignment/lib/policy-assignment.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +1 -1
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +12 -12
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +3 -3
- package/lib/azure-policydefinition/lib/policy-definition.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +1 -1
- package/lib/azure-policydefinition/test/policy-definition.integ.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.spec.js +19 -19
- package/lib/azure-policysetdefinition/index.d.ts +10 -0
- package/lib/azure-policysetdefinition/index.js +27 -0
- package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
- package/lib/azure-policysetdefinition/lib/index.js +22 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +10 -10
- package/lib/azure-privatednszone/lib/private-dns-zone.js +12 -12
- package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +25 -25
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +34 -34
- package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-records.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-records.spec.js +49 -49
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +12 -12
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +6 -6
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +8 -8
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +1 -1
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +5 -5
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +12 -12
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +5 -5
- package/lib/azure-publicipaddress/lib/public-ip-address.js +7 -7
- package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +1 -1
- package/lib/azure-publicipaddress/test/public-ip-address.integ.js +6 -6
- package/lib/azure-publicipaddress/test/public-ip-address.spec.js +11 -11
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +5 -5
- package/lib/azure-resourcegroup/lib/resource-group.js +7 -7
- package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +1 -1
- package/lib/azure-resourcegroup/test/resource-group.integ.js +5 -5
- package/lib/azure-resourcegroup/test/resource-group.spec.js +14 -14
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +3 -3
- package/lib/azure-roleassignment/lib/role-assignment.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +1 -1
- package/lib/azure-roleassignment/test/role-assignment.integ.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.spec.js +12 -12
- package/lib/azure-roledefinition/lib/role-definition.d.ts +3 -3
- package/lib/azure-roledefinition/lib/role-definition.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +1 -1
- package/lib/azure-roledefinition/test/role-definition.integ.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.spec.js +12 -12
- package/lib/azure-storageaccount/lib/storage-account.d.ts +6 -6
- package/lib/azure-storageaccount/lib/storage-account.js +8 -8
- package/lib/azure-storageaccount/test/storage-account.integ.d.ts +1 -1
- package/lib/azure-storageaccount/test/storage-account.integ.js +5 -5
- package/lib/azure-storageaccount/test/storage-account.spec.js +11 -11
- package/lib/azure-subnet/lib/subnet.d.ts +3 -3
- package/lib/azure-subnet/lib/subnet.js +5 -5
- package/lib/azure-subnet/test/subnet.integ.d.ts +1 -1
- package/lib/azure-subnet/test/subnet.integ.js +5 -5
- package/lib/azure-subnet/test/subnet.spec.js +9 -9
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +6 -6
- package/lib/azure-virtualmachine/lib/virtual-machine.js +8 -8
- package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +1 -1
- package/lib/azure-virtualmachine/test/virtual-machine.integ.js +5 -5
- package/lib/azure-virtualmachine/test/virtual-machine.spec.js +17 -17
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +6 -6
- package/lib/azure-virtualnetwork/lib/virtual-network.js +8 -8
- package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +1 -1
- package/lib/azure-virtualnetwork/test/virtual-network.integ.js +5 -5
- package/lib/azure-virtualnetwork/test/virtual-network.spec.js +12 -12
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +9 -7
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +13 -10
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +5 -5
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +119 -11
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.d.ts +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +7 -7
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.spec.js +20 -20
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +7 -7
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +9 -9
- package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +17 -17
- package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +15 -15
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +5 -5
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +57 -57
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +6 -6
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +8 -8
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +1 -1
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +5 -5
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +12 -12
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +7 -7
- package/lib/core-azure/lib/azapi/azapi-resource.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +7 -7
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +12 -12
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +15 -15
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +35 -35
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +58 -58
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +49 -49
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +13 -13
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +22 -22
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +24 -24
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +40 -40
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +44 -44
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +72 -72
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +54 -54
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +86 -86
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +65 -65
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +102 -102
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +62 -62
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +36 -36
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +69 -69
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/index.d.ts +12 -0
- package/lib/index.js +14 -2
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.js +8 -8
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +10 -22
- package/setup.js +2 -2
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Full JSII compliance for multi-language support
|
|
16
16
|
* - Support for multiple destinations (Log Analytics, Storage, Event Hub)
|
|
17
17
|
*/
|
|
18
|
-
import * as
|
|
18
|
+
import * as cdktn from "cdktn";
|
|
19
19
|
import { Construct } from "constructs";
|
|
20
20
|
import { AzapiResource, AzapiResourceProps, DiagnosticLogConfig, DiagnosticMetricConfig } from "../../core-azure/lib/azapi/azapi-resource";
|
|
21
21
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -140,8 +140,8 @@ export declare class DiagnosticSettings extends AzapiResource {
|
|
|
140
140
|
* The input properties for this Diagnostic Settings instance
|
|
141
141
|
*/
|
|
142
142
|
readonly props: DiagnosticSettingsProps;
|
|
143
|
-
readonly idOutput:
|
|
144
|
-
readonly nameOutput:
|
|
143
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
144
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
145
145
|
/**
|
|
146
146
|
* Creates a new Azure Diagnostic Settings using the AzapiResource framework
|
|
147
147
|
*
|
|
@@ -20,7 +20,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
20
20
|
* - Full JSII compliance for multi-language support
|
|
21
21
|
* - Support for multiple destinations (Log Analytics, Storage, Event Hub)
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const cdktn = require("cdktn");
|
|
24
24
|
const diagnostic_settings_schemas_1 = require("./diagnostic-settings-schemas");
|
|
25
25
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
26
26
|
/**
|
|
@@ -100,11 +100,11 @@ class DiagnosticSettings extends azapi_resource_1.AzapiResource {
|
|
|
100
100
|
this.props = props;
|
|
101
101
|
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
102
102
|
// Create Terraform outputs for easy access and referencing from other resources
|
|
103
|
-
this.idOutput = new
|
|
103
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
104
104
|
value: this.id,
|
|
105
105
|
description: "The ID of the Diagnostic Settings",
|
|
106
106
|
});
|
|
107
|
-
this.nameOutput = new
|
|
107
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
108
108
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
109
109
|
description: "The name of the Diagnostic Settings",
|
|
110
110
|
});
|
|
@@ -167,8 +167,8 @@ class DiagnosticSettings extends azapi_resource_1.AzapiResource {
|
|
|
167
167
|
}
|
|
168
168
|
exports.DiagnosticSettings = DiagnosticSettings;
|
|
169
169
|
_a = JSII_RTTI_SYMBOL_1;
|
|
170
|
-
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "
|
|
170
|
+
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DiagnosticSettings", version: "2.2.0" };
|
|
171
171
|
(() => {
|
|
172
172
|
azapi_resource_1.AzapiResource.registerSchemas(diagnostic_settings_schemas_1.DIAGNOSTIC_SETTINGS_TYPE, diagnostic_settings_schemas_1.ALL_DIAGNOSTIC_SETTINGS_VERSIONS);
|
|
173
173
|
})();
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kaWFnbm9zdGljc2V0dGluZ3MvbGliL2RpYWdub3N0aWMtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUVILCtCQUErQjtBQUUvQiwrRUFHdUM7QUFDdkMsOEVBS21EO0FBK0VuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQWEsa0JBQW1CLFNBQVEsOEJBQWE7SUFpQm5ELG9CQUFvQjtJQUVwQjs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLHNEQUFzRDtRQUN0RCxJQUNFLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUNsQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixvSUFBb0ksQ0FDckksQ0FBQztRQUNKLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFFbkYsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVE7WUFDL0MsV0FBVyxFQUFFLHFDQUFxQztTQUNuRCxDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyxzREFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUFnQyxDQUFDO1FBRXBELG1FQUFtRTtRQUNuRSxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtnQkFDN0MsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLDJCQUEyQjtnQkFDbkUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNyQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFO2dCQUNqQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsMkJBQTJCO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxPQUFRLEtBQWlDLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQzs7QUEvSEgsZ0RBZ0lDOzs7QUEvSEM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isc0RBQXdCLEVBQ3hCLDhEQUFnQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIxLTA1LTAxLXByZXZpZXcgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIFN1cHBvcnQgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAoTG9nIEFuYWx5dGljcywgU3RvcmFnZSwgRXZlbnQgSHViKVxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICBESUFHTk9TVElDX1NFVFRJTkdTX1RZUEUsXG59IGZyb20gXCIuL2RpYWdub3N0aWMtc2V0dGluZ3Mtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxuICBEaWFnbm9zdGljTG9nQ29uZmlnLFxuICBEaWFnbm9zdGljTWV0cmljQ29uZmlnLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKlxuICogRXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMgd2l0aCBEaWFnbm9zdGljIFNldHRpbmdzIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgSUQgdG8gYXR0YWNoIGRpYWdub3N0aWMgc2V0dGluZ3MgdG9cbiAgICogVGhpcyBpcyB0aGUgcmVzb3VyY2UgYmVpbmcgbW9uaXRvcmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3RvcmFnZSBhY2NvdW50IElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudCBIdWIgYXV0aG9yaXphdGlvbiBydWxlIElEIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZXMgZXZlbnRIdWJOYW1lIHRvIGJlIHNwZWNpZmllZCBhcyB3ZWxsXG4gICAqL1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IEh1YiBuYW1lIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZWQgd2hlbiBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgaXMgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBldmVudEh1Yk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBjYXRlZ29yaWVzIHRvIGVuYWJsZVxuICAgKiBEZWZpbmVzIHdoaWNoIGxvZyBjYXRlZ29yaWVzIHNob3VsZCBiZSBleHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcblxuICAvKipcbiAgICogTWV0cmljIGNhdGVnb3JpZXMgdG8gZW5hYmxlXG4gICAqIERlZmluZXMgd2hpY2ggbWV0cmljIGNhdGVnb3JpZXMgc2hvdWxkIGJlIGV4cG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzPzogRGlhZ25vc3RpY01ldHJpY0NvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2cgQW5hbHl0aWNzIGRlc3RpbmF0aW9uIHR5cGVcbiAgICogRGV0ZXJtaW5lcyB0aGUgdGFibGUgc3RydWN0dXJlIGluIExvZyBBbmFseXRpY3NcbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWQgKHVzZXMgZGVmYXVsdCBiZWhhdmlvcilcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaWFnbm9zdGljIFNldHRpbmdzIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50SHViTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcbiAgcmVhZG9ubHkgbWV0cmljcz86IERpYWdub3N0aWNNZXRyaWNDb25maWdbXTtcbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogRGlhZ25vc3RpY1NldHRpbmdzQm9keVByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgSlNJSSBjb21wbGlhbmNlLlxuICpcbiAqIERpYWdub3N0aWMgU2V0dGluZ3MgZW5hYmxlIG1vbml0b3JpbmcgYW5kIG9ic2VydmFiaWxpdHkgYnkgZXhwb3J0aW5nIHBsYXRmb3JtIGxvZ3MgYW5kIG1ldHJpY3NcbiAqIHRvIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9ucyBpbmNsdWRpbmcgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2VzLCBTdG9yYWdlIGFjY291bnRzLCBhbmQgRXZlbnQgSHVicy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIExvZyBBbmFseXRpY3M6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJ2bS1kaWFnbm9zdGljc1wiLCB7XG4gKiAgIG5hbWU6IFwidm0tZGlhZ25vc3RpY3NcIixcbiAqICAgdGFyZ2V0UmVzb3VyY2VJZDogdmlydHVhbE1hY2hpbmUuaWQsXG4gKiAgIHdvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnlHcm91cDogXCJhbGxMb2dzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJBbGxNZXRyaWNzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XVxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBtdWx0aXBsZSBkZXN0aW5hdGlvbnM6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsIHtcbiAqICAgbmFtZTogXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsXG4gKiAgIHRhcmdldFJlc291cmNlSWQ6IHN0b3JhZ2VBY2NvdW50LmlkLFxuICogICB3b3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICogICBzdG9yYWdlQWNjb3VudElkOiBhcmNoaXZlU3RvcmFnZUFjY291bnQuaWQsXG4gKiAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDogZXZlbnRIdWIuYXV0aFJ1bGVJZCxcbiAqICAgZXZlbnRIdWJOYW1lOiBcIm1vbml0b3JpbmctaHViXCIsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnk6IFwiU3RvcmFnZVJlYWRcIixcbiAqICAgICBlbmFibGVkOiB0cnVlLFxuICogICAgIHJldGVudGlvblBvbGljeToge1xuICogICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAqICAgICAgIGRheXM6IDkwXG4gKiAgICAgfVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJUcmFuc2FjdGlvblwiLFxuICogICAgIGVuYWJsZWQ6IHRydWVcbiAqICAgfV1cbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEaWFnbm9zdGljU2V0dGluZ3MgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRSxcbiAgICAgIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuXG4gIC8vIFB1YmxpYyBwcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXG4gICAgaWYgKFxuICAgICAgIXByb3BzLndvcmtzcGFjZUlkICYmXG4gICAgICAhcHJvcHMuc3RvcmFnZUFjY291bnRJZCAmJlxuICAgICAgIXByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlSWQsIHN0b3JhZ2VBY2NvdW50SWQsIG9yIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIERpYWdub3N0aWMgU2V0dGluZ3NcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgZXZlbnRIdWJOYW1lIGlzIHByb3ZpZGVkIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIGlzIHNldFxuICAgIGlmIChwcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgJiYgIXByb3BzLmV2ZW50SHViTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImV2ZW50SHViTmFtZSBpcyByZXF1aXJlZCB3aGVuIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCBpcyBzcGVjaWZpZWRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBEaWFnbm9zdGljIFNldHRpbmdzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHNcbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICogUmV0dXJucyB0aGUgbGF0ZXN0IHN0YWJsZSAobm9uLXByZXZpZXcpIHZlcnNpb24gYXMgdGhlIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMTYtMDktMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBEaWFnbm9zdGljIFNldHRpbmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgcHJvcGVydGllcyBpbnRvIHRoZSBKU09OIGZvcm1hdCBleHBlY3RlZCBieSBBenVyZSBSRVNUIEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgRGlhZ25vc3RpY1NldHRpbmdzUHJvcHM7XG5cbiAgICAvLyBEaWFnbm9zdGljIHNldHRpbmdzIGRvbid0IGhhdmUgbG9jYXRpb24gb3IgdGFncyBhdCB0aGUgdG9wIGxldmVsXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgd29ya3NwYWNlSWQ6IHR5cGVkUHJvcHMud29ya3NwYWNlSWQsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6IHR5cGVkUHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOiB0eXBlZFByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCxcbiAgICAgICAgZXZlbnRIdWJOYW1lOiB0eXBlZFByb3BzLmV2ZW50SHViTmFtZSxcbiAgICAgICAgbG9nczogdHlwZWRQcm9wcy5sb2dzIHx8IFtdLFxuICAgICAgICBtZXRyaWNzOiB0eXBlZFByb3BzLm1ldHJpY3MgfHwgW10sXG4gICAgICAgIGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZTogdHlwZWRQcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKiBEaWFnbm9zdGljIFNldHRpbmdzIGFyZSBjaGlsZCByZXNvdXJjZXMgYXR0YWNoZWQgdG8gdGhlIG1vbml0b3JlZCByZXNvdXJjZVxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBUaGUgcGFyZW50IHJlc291cmNlIElEICh0aGUgdGFyZ2V0IHJlc291cmNlIGJlaW5nIG1vbml0b3JlZClcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChwcm9wcyBhcyBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcykudGFyZ2V0UmVzb3VyY2VJZDtcbiAgfVxufVxuIl19
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kaWFnbm9zdGljc2V0dGluZ3MvbGliL2RpYWdub3N0aWMtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUVILCtCQUErQjtBQUUvQiwrRUFHdUM7QUFDdkMsOEVBS21EO0FBK0VuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlERztBQUNILE1BQWEsa0JBQW1CLFNBQVEsOEJBQWE7SUFpQm5ELG9CQUFvQjtJQUVwQjs7Ozs7Ozs7O09BU0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLHNEQUFzRDtRQUN0RCxJQUNFLENBQUMsS0FBSyxDQUFDLFdBQVc7WUFDbEIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUNsQyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixvSUFBb0ksQ0FDckksQ0FBQztRQUNKLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FDYix3RUFBd0UsQ0FDekUsQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFFbkYsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVE7WUFDL0MsV0FBVyxFQUFFLHFDQUFxQztTQUNuRCxDQUFDLENBQUM7UUFFSCx1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyxzREFBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ08sa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUFnQyxDQUFDO1FBRXBELG1FQUFtRTtRQUNuRSxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtnQkFDN0MsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLDJCQUEyQjtnQkFDbkUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNyQyxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFO2dCQUNqQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsMkJBQTJCO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxPQUFRLEtBQWlDLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQzs7QUEvSEgsZ0RBZ0lDOzs7QUEvSEM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isc0RBQXdCLEVBQ3hCLDhEQUFnQyxDQUNqQyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVuaWZpZWQgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB2ZXJzaW9uLWF3YXJlIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIxLTA1LTAxLXByZXZpZXcgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIFN1cHBvcnQgZm9yIG11bHRpcGxlIGRlc3RpbmF0aW9ucyAoTG9nIEFuYWx5dGljcywgU3RvcmFnZSwgRXZlbnQgSHViKVxuICovXG5cbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICBESUFHTk9TVElDX1NFVFRJTkdTX1RZUEUsXG59IGZyb20gXCIuL2RpYWdub3N0aWMtc2V0dGluZ3Mtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxuICBEaWFnbm9zdGljTG9nQ29uZmlnLFxuICBEaWFnbm9zdGljTWV0cmljQ29uZmlnLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgdW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzXG4gKlxuICogRXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMgd2l0aCBEaWFnbm9zdGljIFNldHRpbmdzIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgSUQgdG8gYXR0YWNoIGRpYWdub3N0aWMgc2V0dGluZ3MgdG9cbiAgICogVGhpcyBpcyB0aGUgcmVzb3VyY2UgYmVpbmcgbW9uaXRvcmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRSZXNvdXJjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZD86IHN0cmluZztcblxuICAvKipcbiAgICogU3RvcmFnZSBhY2NvdW50IElEIGZvciBsb2cvbWV0cmljIGRlc3RpbmF0aW9uXG4gICAqIEF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlLCBzdG9yYWdlLCBvciBldmVudCBodWIpIG11c3QgYmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFdmVudCBIdWIgYXV0aG9yaXphdGlvbiBydWxlIElEIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZXMgZXZlbnRIdWJOYW1lIHRvIGJlIHNwZWNpZmllZCBhcyB3ZWxsXG4gICAqL1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV2ZW50IEh1YiBuYW1lIGZvciBzdHJlYW1pbmdcbiAgICogUmVxdWlyZWQgd2hlbiBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgaXMgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSBldmVudEh1Yk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvZyBjYXRlZ29yaWVzIHRvIGVuYWJsZVxuICAgKiBEZWZpbmVzIHdoaWNoIGxvZyBjYXRlZ29yaWVzIHNob3VsZCBiZSBleHBvcnRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcblxuICAvKipcbiAgICogTWV0cmljIGNhdGVnb3JpZXMgdG8gZW5hYmxlXG4gICAqIERlZmluZXMgd2hpY2ggbWV0cmljIGNhdGVnb3JpZXMgc2hvdWxkIGJlIGV4cG9ydGVkXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzPzogRGlhZ25vc3RpY01ldHJpY0NvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBMb2cgQW5hbHl0aWNzIGRlc3RpbmF0aW9uIHR5cGVcbiAgICogRGV0ZXJtaW5lcyB0aGUgdGFibGUgc3RydWN0dXJlIGluIExvZyBBbmFseXRpY3NcbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWQgKHVzZXMgZGVmYXVsdCBiZWhhdmlvcilcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaWFnbm9zdGljIFNldHRpbmdzIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5UHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSBldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50SHViTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9ncz86IERpYWdub3N0aWNMb2dDb25maWdbXTtcbiAgcmVhZG9ubHkgbWV0cmljcz86IERpYWdub3N0aWNNZXRyaWNDb25maWdbXTtcbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogRGlhZ25vc3RpY1NldHRpbmdzQm9keVByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nIGZ1bGwgSlNJSSBjb21wbGlhbmNlLlxuICpcbiAqIERpYWdub3N0aWMgU2V0dGluZ3MgZW5hYmxlIG1vbml0b3JpbmcgYW5kIG9ic2VydmFiaWxpdHkgYnkgZXhwb3J0aW5nIHBsYXRmb3JtIGxvZ3MgYW5kIG1ldHJpY3NcbiAqIHRvIG9uZSBvciBtb3JlIGRlc3RpbmF0aW9ucyBpbmNsdWRpbmcgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2VzLCBTdG9yYWdlIGFjY291bnRzLCBhbmQgRXZlbnQgSHVicy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIExvZyBBbmFseXRpY3M6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJ2bS1kaWFnbm9zdGljc1wiLCB7XG4gKiAgIG5hbWU6IFwidm0tZGlhZ25vc3RpY3NcIixcbiAqICAgdGFyZ2V0UmVzb3VyY2VJZDogdmlydHVhbE1hY2hpbmUuaWQsXG4gKiAgIHdvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnlHcm91cDogXCJhbGxMb2dzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJBbGxNZXRyaWNzXCIsXG4gKiAgICAgZW5hYmxlZDogdHJ1ZVxuICogICB9XVxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBtdWx0aXBsZSBkZXN0aW5hdGlvbnM6XG4gKiBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3ModGhpcywgXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsIHtcbiAqICAgbmFtZTogXCJzdG9yYWdlLWRpYWdub3N0aWNzXCIsXG4gKiAgIHRhcmdldFJlc291cmNlSWQ6IHN0b3JhZ2VBY2NvdW50LmlkLFxuICogICB3b3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICogICBzdG9yYWdlQWNjb3VudElkOiBhcmNoaXZlU3RvcmFnZUFjY291bnQuaWQsXG4gKiAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDogZXZlbnRIdWIuYXV0aFJ1bGVJZCxcbiAqICAgZXZlbnRIdWJOYW1lOiBcIm1vbml0b3JpbmctaHViXCIsXG4gKiAgIGxvZ3M6IFt7XG4gKiAgICAgY2F0ZWdvcnk6IFwiU3RvcmFnZVJlYWRcIixcbiAqICAgICBlbmFibGVkOiB0cnVlLFxuICogICAgIHJldGVudGlvblBvbGljeToge1xuICogICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAqICAgICAgIGRheXM6IDkwXG4gKiAgICAgfVxuICogICB9XSxcbiAqICAgbWV0cmljczogW3tcbiAqICAgICBjYXRlZ29yeTogXCJUcmFuc2FjdGlvblwiLFxuICogICAgIGVuYWJsZWQ6IHRydWVcbiAqICAgfV1cbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEaWFnbm9zdGljU2V0dGluZ3MgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRSxcbiAgICAgIEFMTF9ESUFHTk9TVElDX1NFVFRJTkdTX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRGlhZ25vc3RpYyBTZXR0aW5ncyBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuXG4gIC8vIFB1YmxpYyBwcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgRGlhZ25vc3RpYyBTZXR0aW5ncyB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXG4gICAgaWYgKFxuICAgICAgIXByb3BzLndvcmtzcGFjZUlkICYmXG4gICAgICAhcHJvcHMuc3RvcmFnZUFjY291bnRJZCAmJlxuICAgICAgIXByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiAod29ya3NwYWNlSWQsIHN0b3JhZ2VBY2NvdW50SWQsIG9yIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkgbXVzdCBiZSBzcGVjaWZpZWQgZm9yIERpYWdub3N0aWMgU2V0dGluZ3NcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgZXZlbnRIdWJOYW1lIGlzIHByb3ZpZGVkIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIGlzIHNldFxuICAgIGlmIChwcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQgJiYgIXByb3BzLmV2ZW50SHViTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImV2ZW50SHViTmFtZSBpcyByZXF1aXJlZCB3aGVuIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCBpcyBzcGVjaWZpZWRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBEaWFnbm9zdGljIFNldHRpbmdzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRGlhZ25vc3RpYyBTZXR0aW5nc1wiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHNcbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICogUmV0dXJucyB0aGUgbGF0ZXN0IHN0YWJsZSAobm9uLXByZXZpZXcpIHZlcnNpb24gYXMgdGhlIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMTYtMDktMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBEaWFnbm9zdGljIFNldHRpbmdzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERJQUdOT1NUSUNfU0VUVElOR1NfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgcHJvcGVydGllcyBpbnRvIHRoZSBKU09OIGZvcm1hdCBleHBlY3RlZCBieSBBenVyZSBSRVNUIEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgRGlhZ25vc3RpY1NldHRpbmdzUHJvcHM7XG5cbiAgICAvLyBEaWFnbm9zdGljIHNldHRpbmdzIGRvbid0IGhhdmUgbG9jYXRpb24gb3IgdGFncyBhdCB0aGUgdG9wIGxldmVsXG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgd29ya3NwYWNlSWQ6IHR5cGVkUHJvcHMud29ya3NwYWNlSWQsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6IHR5cGVkUHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOiB0eXBlZFByb3BzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCxcbiAgICAgICAgZXZlbnRIdWJOYW1lOiB0eXBlZFByb3BzLmV2ZW50SHViTmFtZSxcbiAgICAgICAgbG9nczogdHlwZWRQcm9wcy5sb2dzIHx8IFtdLFxuICAgICAgICBtZXRyaWNzOiB0eXBlZFByb3BzLm1ldHJpY3MgfHwgW10sXG4gICAgICAgIGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZTogdHlwZWRQcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgRGlhZ25vc3RpYyBTZXR0aW5nc1xuICAgKiBEaWFnbm9zdGljIFNldHRpbmdzIGFyZSBjaGlsZCByZXNvdXJjZXMgYXR0YWNoZWQgdG8gdGhlIG1vbml0b3JlZCByZXNvdXJjZVxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBUaGUgcGFyZW50IHJlc291cmNlIElEICh0aGUgdGFyZ2V0IHJlc291cmNlIGJlaW5nIG1vbml0b3JlZClcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChwcm9wcyBhcyBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcykudGFyZ2V0UmVzb3VyY2VJZDtcbiAgfVxufVxuIl19
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* destination configurations, property transformation, and resource creation.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const cdktn_1 = require("cdktn");
|
|
11
|
+
const cdktn = require("cdktn");
|
|
12
12
|
const diagnostic_settings_1 = require("../lib/diagnostic-settings");
|
|
13
13
|
describe("DiagnosticSettings - Implementation", () => {
|
|
14
14
|
let app;
|
|
15
15
|
let stack;
|
|
16
16
|
beforeEach(() => {
|
|
17
|
-
app =
|
|
18
|
-
stack = new
|
|
17
|
+
app = cdktn_1.Testing.app();
|
|
18
|
+
stack = new cdktn.TerraformStack(app, "TestStack");
|
|
19
19
|
});
|
|
20
20
|
// =============================================================================
|
|
21
21
|
// Constructor and Basic Properties
|
|
@@ -325,8 +325,8 @@ describe("DiagnosticSettings - Implementation", () => {
|
|
|
325
325
|
targetResourceId: "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/test-vm",
|
|
326
326
|
workspaceId: "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.OperationalInsights/workspaces/test-workspace",
|
|
327
327
|
});
|
|
328
|
-
expect(diagnostics.idOutput).toBeInstanceOf(
|
|
329
|
-
expect(diagnostics.nameOutput).toBeInstanceOf(
|
|
328
|
+
expect(diagnostics.idOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
329
|
+
expect(diagnostics.nameOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
330
330
|
expect(diagnostics.id).toMatch(/^\$\{.*\.id\}$/);
|
|
331
331
|
});
|
|
332
332
|
});
|
|
@@ -346,7 +346,7 @@ describe("DiagnosticSettings - Implementation", () => {
|
|
|
346
346
|
},
|
|
347
347
|
],
|
|
348
348
|
});
|
|
349
|
-
const synthesized =
|
|
349
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
350
350
|
expect(synthesized).toBeDefined();
|
|
351
351
|
const stackConfig = JSON.parse(synthesized);
|
|
352
352
|
expect(stackConfig.resource).toBeDefined();
|
|
@@ -365,7 +365,7 @@ describe("DiagnosticSettings - Implementation", () => {
|
|
|
365
365
|
});
|
|
366
366
|
expect(diagnostics1.resolvedApiVersion).toBe("2021-05-01-preview");
|
|
367
367
|
expect(diagnostics2.resolvedApiVersion).toBe("2016-09-01");
|
|
368
|
-
const synthesized =
|
|
368
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
369
369
|
expect(synthesized).toBeDefined();
|
|
370
370
|
});
|
|
371
371
|
});
|
|
@@ -429,4 +429,4 @@ describe("DiagnosticSettings - Implementation", () => {
|
|
|
429
429
|
});
|
|
430
430
|
});
|
|
431
431
|
});
|
|
432
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRpYWdub3N0aWNzZXR0aW5ncy90ZXN0L2RpYWdub3N0aWMtc2V0dGluZ3Muc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILGlDQUFnQztBQUNoQywrQkFBK0I7QUFLL0Isb0VBR29DO0FBRXBDLFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsSUFBSSxHQUFjLENBQUM7SUFDbkIsSUFBSSxLQUEyQixDQUFDO0lBRWhDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0ZBQWdGO0lBQ2hGLG1DQUFtQztJQUNuQyxnRkFBZ0Y7SUFFaEYsUUFBUSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUNoRCxFQUFFLENBQUMsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLE1BQU0sS0FBSyxHQUE0QjtnQkFDckMsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsZ0JBQWdCLEVBQ2Qsb0dBQW9HO2dCQUN0RyxXQUFXLEVBQ1Qsa0hBQWtIO2FBQ3JILENBQUM7WUFFRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdDQUFrQixDQUN4QyxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLEtBQUssQ0FDTixDQUFDO1lBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3Q0FBa0IsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxX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QUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FDOUQsV0FBVyxDQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbXByZWhlbnNpdmUgdGVzdHMgZm9yIHRoZSBEaWFnbm9zdGljU2V0dGluZ3MgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIHRlc3Qgc3VpdGUgdmFsaWRhdGVzIHRoZSBEaWFnbm9zdGljU2V0dGluZ3MgY2xhc3MgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrLlxuICogVGVzdHMgY292ZXIgYXV0b21hdGljIHZlcnNpb24gcmVzb2x1dGlvbiwgZXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nLCBzY2hlbWEgdmFsaWRhdGlvbixcbiAqIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb25zLCBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICovXG5cbmltcG9ydCB7IFRlc3RpbmcgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHtcbiAgRGlhZ25vc3RpY0xvZ0NvbmZpZyxcbiAgRGlhZ25vc3RpY01ldHJpY0NvbmZpZyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBEaWFnbm9zdGljU2V0dGluZ3MsXG4gIERpYWdub3N0aWNTZXR0aW5nc1Byb3BzLFxufSBmcm9tIFwiLi4vbGliL2RpYWdub3N0aWMtc2V0dGluZ3NcIjtcblxuZGVzY3JpYmUoXCJEaWFnbm9zdGljU2V0dGluZ3MgLSBJbXBsZW1lbnRhdGlvblwiLCAoKSA9PiB7XG4gIGxldCBhcHA6IGNka3RmLkFwcDtcbiAgbGV0IHN0YWNrOiBjZGt0Zi5UZXJyYWZvcm1TdGFjaztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBhcHAgPSBUZXN0aW5nLmFwcCgpO1xuICAgIHN0YWNrID0gbmV3IGNka3RmLlRlcnJhZm9ybVN0YWNrKGFwcCwgXCJUZXN0U3RhY2tcIik7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbnN0cnVjdG9yIGFuZCBCYXNpYyBQcm9wZXJ0aWVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RvciBhbmQgQmFzaWMgUHJvcGVydGllc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIGRpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3MoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlRlc3REaWFnbm9zdGljc1wiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcykudG9CZUluc3RhbmNlT2YoRGlhZ25vc3RpY1NldHRpbmdzKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcykudG9CZShwcm9wcyk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubmFtZSkudG9CZShcInRlc3QtZGlhZ25vc3RpY3NcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIHN0b3JhZ2UgYWNjb3VudFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwic3RvcmFnZS1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3Rlc3Qtc3RvcmFnZVwiLFxuICAgICAgICBzdG9yYWdlQWNjb3VudElkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL2FyY2hpdmUtc3RvcmFnZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJTdG9yYWdlRGlhZ25vc3RpY3NcIixcbiAgICAgICAgcHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuc3RvcmFnZUFjY291bnRJZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBkaWFnbm9zdGljIHNldHRpbmdzIHdpdGggZXZlbnQgaHViXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJldmVudGh1Yi1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya1NlY3VyaXR5R3JvdXBzL3Rlc3QtbnNnXCIsXG4gICAgICAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL3Rlc3QtZWgvYXV0aG9yaXphdGlvblJ1bGVzL3Rlc3QtcnVsZVwiLFxuICAgICAgICBldmVudEh1Yk5hbWU6IFwibW9uaXRvcmluZy1odWJcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiRXZlbnRIdWJEaWFnbm9zdGljc1wiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuZXZlbnRIdWJOYW1lKS50b0JlKFwibW9uaXRvcmluZy1odWJcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIG11bHRpcGxlIGRlc3RpbmF0aW9uc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwibXVsdGktZGVzdGluYXRpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy90ZXN0LXNxbFwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9hcmNoaXZlLXN0b3JhZ2VcIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJhdWRpdC1odWJcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJNdWx0aURlc3RcIiwgcHJvcHMpO1xuXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMud29ya3NwYWNlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuc3RvcmFnZUFjY291bnRJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFZlcnNpb24gUmVzb2x1dGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiVmVyc2lvbiBSZXNvbHV0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCB1c2UgbGF0ZXN0IHZlcnNpb24gMjAyMS0wNS0wMS1wcmV2aWV3IHdoZW4gbm8gdmVyc2lvbiBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkRlZmF1bHRWZXJzaW9uXCIsIHtcbiAgICAgICAgbmFtZTogXCJkZWZhdWx0LXZlcnNpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDIxLTA1LTAxLXByZXZpZXdcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgZXhwbGljaXQgc3RhYmxlIHZlcnNpb24gd2hlbiBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlN0YWJsZVZlcnNpb25cIiwge1xuICAgICAgICBuYW1lOiBcInN0YWJsZS12ZXJzaW9uLWRpYWdub3N0aWNzXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDE2LTA5LTAxXCIsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZShcIjIwMTYtMDktMDFcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgcHJldmlldyB2ZXJzaW9uIHdoZW4gZXhwbGljaXRseSBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlByZXZpZXdWZXJzaW9uXCIsIHtcbiAgICAgICAgbmFtZTogXCJwcmV2aWV3LXZlcnNpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBhcGlWZXJzaW9uOiBcIjIwMjEtMDUtMDEtcHJldmlld1wiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDIxLTA1LTAxLXByZXZpZXdcIik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFZhbGlkYXRpb24gVGVzdHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBkZXNjcmliZShcIlZhbGlkYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIHRocm93IGVycm9yIHdoZW4gbm8gZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJuby1kZXN0aW5hdGlvblwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTm9EZXN0aW5hdGlvblwiLCBwcm9wcyk7XG4gICAgICB9KS50b1Rocm93KC9BdCBsZWFzdCBvbmUgZGVzdGluYXRpb24vKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHRocm93IGVycm9yIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIHdpdGhvdXQgZXZlbnRIdWJOYW1lXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJtaXNzaW5nLWV2ZW50aHViLW5hbWVcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL3Rlc3QtZWgvYXV0aG9yaXphdGlvblJ1bGVzL3Rlc3QtcnVsZVwiLFxuICAgICAgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJNaXNzaW5nRXZlbnRIdWJOYW1lXCIsIHByb3BzKTtcbiAgICAgIH0pLnRvVGhyb3coL2V2ZW50SHViTmFtZSBpcyByZXF1aXJlZC8pO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgbm90IHRocm93IHdoZW4gZXZlbnRIdWJOYW1lIHByb3ZpZGVkIHdpdGggZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJ2YWxpZC1ldmVudGh1YlwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJtb25pdG9yaW5nLWh1YlwiLFxuICAgICAgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJWYWxpZEV2ZW50SHViXCIsIHByb3BzKTtcbiAgICAgIH0pLm5vdC50b1Rocm93KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIExvZyBhbmQgTWV0cmljIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBkZXNjcmliZShcIkxvZyBhbmQgTWV0cmljIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBsb2dzIHdpdGggc3BlY2lmaWMgY2F0ZWdvcmllc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb2dzOiBEaWFnbm9zdGljTG9nQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICByZXRlbnRpb25Qb2xpY3k6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBkYXlzOiA5MCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnk6IFwiU2VjdXJpdHlFdmVudFwiLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgcmV0ZW50aW9uUG9saWN5OiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgZGF5czogMzY1LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTG9nQ2F0ZWdvcmllc1wiLCB7XG4gICAgICAgIG5hbWU6IFwibG9nLWNhdGVnb3JpZXNcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy90ZXN0LXN0b3JhZ2VcIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3MsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5sb2dzIVswXS5jYXRlZ29yeSkudG9CZShcIkF1ZGl0RXZlbnRcIik7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubG9ncyFbMF0ucmV0ZW50aW9uUG9saWN5Py5kYXlzKS50b0JlKDkwKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBsb2dzIHdpdGggY2F0ZWdvcnkgZ3JvdXBzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGxvZ3M6IERpYWdub3N0aWNMb2dDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5R3JvdXA6IFwiYWxsTG9nc1wiLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTG9nQ2F0ZWdvcnlHcm91cFwiLCB7XG4gICAgICAgIG5hbWU6IFwibG9nLWNhdGVnb3J5LWdyb3VwXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgbG9ncyxcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDIxLTA1LTAxLXByZXZpZXdcIiwgLy8gQ2F0ZWdvcnkgZ3JvdXBzIGF2YWlsYWJsZSBpbiBwcmV2aWV3XG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5sb2dzIVswXS5jYXRlZ29yeUdyb3VwKS50b0JlKFwiYWxsTG9nc1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBtZXRyaWNzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDMwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTWV0cmljc1wiLCB7XG4gICAgICAgIG5hbWU6IFwibWV0cmljcy1jb25maWdcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBtZXRyaWNzLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5tZXRyaWNzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubWV0cmljcyFbMF0uY2F0ZWdvcnkpLnRvQmUoXCJBbGxNZXRyaWNzXCIpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLm1ldHJpY3MhWzBdLnJldGVudGlvblBvbGljeT8uZGF5cykudG9CZSgzMCk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjb25maWd1cmUgYm90aCBsb2dzIGFuZCBtZXRyaWNzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGxvZ3M6IERpYWdub3N0aWNMb2dDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFkbWluaXN0cmF0aXZlXCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkxvZ3NBbmRNZXRyaWNzXCIsIHtcbiAgICAgICAgbmFtZTogXCJsb2dzLWFuZC1tZXRyaWNzXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrU2VjdXJpdHlHcm91cHMvdGVzdC1uc2dcIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3MsXG4gICAgICAgIG1ldHJpY3MsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5tZXRyaWNzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByb3BlcnR5IFRyYW5zZm9ybWF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJQcm9wZXJ0eSBUcmFuc2Zvcm1hdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgZ2VuZXJhdGUgY29ycmVjdCBBenVyZSBBUEkgZm9ybWF0IHZpYSBjcmVhdGVSZXNvdXJjZUJvZHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzID0ge1xuICAgICAgICBuYW1lOiBcInRyYW5zZm9ybS10ZXN0XCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgbG9nczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBcIkF1ZGl0RXZlbnRcIixcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbWV0cmljczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJUcmFuc2Zvcm1UZXN0XCIsIHByb3BzKTtcblxuICAgICAgLy8gQWNjZXNzIHRoZSBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5IG1ldGhvZFxuICAgICAgY29uc3QgcmVzb3VyY2VCb2R5ID0gKGRpYWdub3N0aWNzIGFzIGFueSkuY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzKTtcblxuICAgICAgZXhwZWN0KHJlc291cmNlQm9keSkudG9IYXZlUHJvcGVydHkoXCJwcm9wZXJ0aWVzXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzKS50b0hhdmVQcm9wZXJ0eShcIndvcmtzcGFjZUlkXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzKS50b0hhdmVQcm9wZXJ0eShcImxvZ3NcIik7XG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMpLnRvSGF2ZVByb3BlcnR5KFwibWV0cmljc1wiKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkpLm5vdC50b0hhdmVQcm9wZXJ0eShcImxvY2F0aW9uXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keSkubm90LnRvSGF2ZVByb3BlcnR5KFwidGFnc1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGluY2x1ZGUgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlIHdoZW4gc3BlY2lmaWVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJkZXN0aW5hdGlvbi10eXBlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGU6IFwiRGVkaWNhdGVkXCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3MoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIkRlc3RpbmF0aW9uVHlwZVwiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG4gICAgICBjb25zdCByZXNvdXJjZUJvZHkgPSAoZGlhZ25vc3RpY3MgYXMgYW55KS5jcmVhdGVSZXNvdXJjZUJvZHkocHJvcHMpO1xuXG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMubG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlKS50b0JlKFxuICAgICAgICBcIkRlZGljYXRlZFwiLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBlbXB0eSBsb2dzIGFuZCBtZXRyaWNzIGFycmF5c1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwiZW1wdHktYXJyYXlzLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkVtcHR5QXJyYXlzXCIsIHByb3BzKTtcbiAgICAgIGNvbnN0IHJlc291cmNlQm9keSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLmNyZWF0ZVJlc291cmNlQm9keShwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5sb2dzKS50b0VxdWFsKFtdKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5tZXRyaWNzKS50b0VxdWFsKFtdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW50ZWdyYXRpb24gd2l0aCBCYXNlIENsYXNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJJbnRlZ3JhdGlvbiB3aXRoIEJhc2UgQ2xhc3NcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGluaGVyaXQgZnJvbSBBemFwaVJlc291cmNlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJJbmhlcml0YW5jZVRlc3RcIiwge1xuICAgICAgICBuYW1lOiBcImluaGVyaXRhbmNlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFZlcmlmeSBpdCBoYXMgQXphcGlSZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MpLnRvSGF2ZVByb3BlcnR5KFwidGVycmFmb3JtUmVzb3VyY2VcIik7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MpLnRvSGF2ZVByb3BlcnR5KFwicmVzb2x2ZWRBcGlWZXJzaW9uXCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgaGF2ZSBjb3JyZWN0IGF6YXBpUmVzb3VyY2VUeXBlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJSZXNvdXJjZVR5cGVUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJyZXNvdXJjZS10eXBlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEFjY2VzcyB0aGUgcHJvdGVjdGVkIHJlc291cmNlVHlwZSBtZXRob2RcbiAgICAgIGNvbnN0IHJlc291cmNlVHlwZSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLnJlc291cmNlVHlwZSgpO1xuICAgICAgZXhwZWN0KHJlc291cmNlVHlwZSkudG9CZShcIk1pY3Jvc29mdC5JbnNpZ2h0cy9kaWFnbm9zdGljU2V0dGluZ3NcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCByZXNvbHZlIHBhcmVudCBJRCBjb3JyZWN0bHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0UmVzb3VyY2VJZCA9XG4gICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIjtcblxuICAgICAgY29uc3QgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzID0ge1xuICAgICAgICBuYW1lOiBcInBhcmVudC1pZC10ZXN0XCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlBhcmVudElkVGVzdFwiLCBwcm9wcyk7XG5cbiAgICAgIC8vIEFjY2VzcyB0aGUgcHJvdGVjdGVkIHJlc29sdmVQYXJlbnRJZCBtZXRob2RcbiAgICAgIGNvbnN0IHBhcmVudElkID0gKGRpYWdub3N0aWNzIGFzIGFueSkucmVzb2x2ZVBhcmVudElkKHByb3BzKTtcbiAgICAgIGV4cGVjdChwYXJlbnRJZCkudG9CZSh0YXJnZXRSZXNvdXJjZUlkKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGdlbmVyYXRlIHJlc291cmNlIG91dHB1dHNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIk91dHB1dHNUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJvdXRwdXRzLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5pZE91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdGYuVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5uYW1lT3V0cHV0KS50b0JlSW5zdGFuY2VPZihjZGt0Zi5UZXJyYWZvcm1PdXRwdXQpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLmlkKS50b01hdGNoKC9eXFwkXFx7LipcXC5pZFxcfSQvKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ0RLIFRlcnJhZm9ybSBJbnRlZ3JhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiQ0RLIFRlcnJhZm9ybSBJbnRlZ3JhdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgc3ludGhlc2l6ZSB0byB2YWxpZCBUZXJyYWZvcm0gY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG4gICAgICBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlN5bnRoVGVzdFwiLCB7XG4gICAgICAgIG5hbWU6IFwic3ludGgtdGVzdFwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcblxuICAgICAgY29uc3Qgc3RhY2tDb25maWcgPSBKU09OLnBhcnNlKHN5bnRoZXNpemVkKTtcbiAgICAgIGV4cGVjdChzdGFja0NvbmZpZy5yZXNvdXJjZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBtdWx0aXBsZSBkaWFnbm9zdGljIHNldHRpbmdzIGluIHRoZSBzYW1lIHN0YWNrXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzMSA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiRGlhZ25vc3RpY3MxXCIsIHtcbiAgICAgICAgbmFtZTogXCJkaWFnbm9zdGljcy0xXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0xXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzMiA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiRGlhZ25vc3RpY3MyXCIsIHtcbiAgICAgICAgbmFtZTogXCJkaWFnbm9zdGljcy0yXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0yXCIsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHMvYXJjaGl2ZS1zdG9yYWdlXCIsXG4gICAgICAgIGFwaVZlcnNpb246IFwiMjAxNi0wOS0wMVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljczEucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyMS0wNS0wMS1wcmV2aWV3XCIpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzMi5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDE2LTA5LTAxXCIpO1xuXG4gICAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3Rpbmcuc3ludGgoc3RhY2spO1xuICAgICAgZXhwZWN0KHN5bnRoZXNpemVkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBDb21wbGV4IFNjZW5hcmlvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiQ29tcGxleCBTY2VuYXJpb3NcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBjb21wcmVoZW5zaXZlIGRpYWdub3N0aWMgc2V0dGluZ3MgY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb2dzOiBEaWFnbm9zdGljTG9nQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICByZXRlbnRpb25Qb2xpY3k6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBkYXlzOiAzNjUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIlNlY3VyaXR5RXZlbnRcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDM2NSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnk6IFwiQWRtaW5pc3RyYXRpdmVcIixcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDMwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwiY29tcHJlaGVuc2l2ZS1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3Rlc3Qtc3RvcmFnZVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9hcmNoaXZlLXN0b3JhZ2VcIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJzZWN1cml0eS1ldmVudHNcIixcbiAgICAgICAgbG9ncyxcbiAgICAgICAgbWV0cmljcyxcbiAgICAgICAgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlOiBcIkRlZGljYXRlZFwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJDb21wcmVoZW5zaXZlQ29uZmlnXCIsXG4gICAgICAgIHByb3BzLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJlc291cmNlQm9keSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLmNyZWF0ZVJlc291cmNlQm9keShwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy53b3Jrc3BhY2VJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5zdG9yYWdlQWNjb3VudElkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5ldmVudEh1Yk5hbWUpLnRvQmUoXCJzZWN1cml0eS1ldmVudHNcIik7XG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMubG9ncykudG9IYXZlTGVuZ3RoKDMpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzLm1ldHJpY3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUpLnRvQmUoXG4gICAgICAgIFwiRGVkaWNhdGVkXCIsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
432
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpYy1zZXR0aW5ncy5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRpYWdub3N0aWNzZXR0aW5ncy90ZXN0L2RpYWdub3N0aWMtc2V0dGluZ3Muc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILGlDQUFnQztBQUNoQywrQkFBK0I7QUFLL0Isb0VBR29DO0FBRXBDLFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7SUFDbkQsSUFBSSxHQUFjLENBQUM7SUFDbkIsSUFBSSxLQUEyQixDQUFDO0lBRWhDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQyxDQUFDO0lBRUgsZ0ZBQWdGO0lBQ2hGLG1DQUFtQztJQUNuQyxnRkFBZ0Y7SUFFaEYsUUFBUSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUNoRCxFQUFFLENBQUMsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFO1lBQ3hFLE1BQU0sS0FBSyxHQUE0QjtnQkFDckMsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsZ0JBQWdCLEVBQ2Qsb0dBQW9HO2dCQUN0RyxXQUFXLEVBQ1Qsa0hBQWtIO2FBQ3JILENBQUM7WUFFRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdDQUFrQixDQUN4QyxLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLEtBQUssQ0FDTixDQUFDO1lBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3Q0FBa0IsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxX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QUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FDOUQsV0FBVyxDQUNaLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbXByZWhlbnNpdmUgdGVzdHMgZm9yIHRoZSBEaWFnbm9zdGljU2V0dGluZ3MgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBUaGlzIHRlc3Qgc3VpdGUgdmFsaWRhdGVzIHRoZSBEaWFnbm9zdGljU2V0dGluZ3MgY2xhc3MgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrLlxuICogVGVzdHMgY292ZXIgYXV0b21hdGljIHZlcnNpb24gcmVzb2x1dGlvbiwgZXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nLCBzY2hlbWEgdmFsaWRhdGlvbixcbiAqIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb25zLCBwcm9wZXJ0eSB0cmFuc2Zvcm1hdGlvbiwgYW5kIHJlc291cmNlIGNyZWF0aW9uLlxuICovXG5cbmltcG9ydCB7IFRlc3RpbmcgfSBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHtcbiAgRGlhZ25vc3RpY0xvZ0NvbmZpZyxcbiAgRGlhZ25vc3RpY01ldHJpY0NvbmZpZyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBEaWFnbm9zdGljU2V0dGluZ3MsXG4gIERpYWdub3N0aWNTZXR0aW5nc1Byb3BzLFxufSBmcm9tIFwiLi4vbGliL2RpYWdub3N0aWMtc2V0dGluZ3NcIjtcblxuZGVzY3JpYmUoXCJEaWFnbm9zdGljU2V0dGluZ3MgLSBJbXBsZW1lbnRhdGlvblwiLCAoKSA9PiB7XG4gIGxldCBhcHA6IGNka3RuLkFwcDtcbiAgbGV0IHN0YWNrOiBjZGt0bi5UZXJyYWZvcm1TdGFjaztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBhcHAgPSBUZXN0aW5nLmFwcCgpO1xuICAgIHN0YWNrID0gbmV3IGNka3RuLlRlcnJhZm9ybVN0YWNrKGFwcCwgXCJUZXN0U3RhY2tcIik7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbnN0cnVjdG9yIGFuZCBCYXNpYyBQcm9wZXJ0aWVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJDb25zdHJ1Y3RvciBhbmQgQmFzaWMgUHJvcGVydGllc1wiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgY3JlYXRlIGRpYWdub3N0aWMgc2V0dGluZ3Mgd2l0aCBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZVwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3MoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlRlc3REaWFnbm9zdGljc1wiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcykudG9CZUluc3RhbmNlT2YoRGlhZ25vc3RpY1NldHRpbmdzKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcykudG9CZShwcm9wcyk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubmFtZSkudG9CZShcInRlc3QtZGlhZ25vc3RpY3NcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIHN0b3JhZ2UgYWNjb3VudFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwic3RvcmFnZS1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3Rlc3Qtc3RvcmFnZVwiLFxuICAgICAgICBzdG9yYWdlQWNjb3VudElkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL2FyY2hpdmUtc3RvcmFnZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJTdG9yYWdlRGlhZ25vc3RpY3NcIixcbiAgICAgICAgcHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuc3RvcmFnZUFjY291bnRJZCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBkaWFnbm9zdGljIHNldHRpbmdzIHdpdGggZXZlbnQgaHViXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJldmVudGh1Yi1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya1NlY3VyaXR5R3JvdXBzL3Rlc3QtbnNnXCIsXG4gICAgICAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL3Rlc3QtZWgvYXV0aG9yaXphdGlvblJ1bGVzL3Rlc3QtcnVsZVwiLFxuICAgICAgICBldmVudEh1Yk5hbWU6IFwibW9uaXRvcmluZy1odWJcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiRXZlbnRIdWJEaWFnbm9zdGljc1wiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuZXZlbnRIdWJOYW1lKS50b0JlKFwibW9uaXRvcmluZy1odWJcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB3aXRoIG11bHRpcGxlIGRlc3RpbmF0aW9uc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwibXVsdGktZGVzdGluYXRpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy90ZXN0LXNxbFwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9hcmNoaXZlLXN0b3JhZ2VcIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJhdWRpdC1odWJcIixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJNdWx0aURlc3RcIiwgcHJvcHMpO1xuXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMud29ya3NwYWNlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMuc3RvcmFnZUFjY291bnRJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5ldmVudEh1YkF1dGhvcml6YXRpb25SdWxlSWQpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFZlcnNpb24gUmVzb2x1dGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiVmVyc2lvbiBSZXNvbHV0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCB1c2UgbGF0ZXN0IHZlcnNpb24gMjAyMS0wNS0wMS1wcmV2aWV3IHdoZW4gbm8gdmVyc2lvbiBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkRlZmF1bHRWZXJzaW9uXCIsIHtcbiAgICAgICAgbmFtZTogXCJkZWZhdWx0LXZlcnNpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDIxLTA1LTAxLXByZXZpZXdcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgZXhwbGljaXQgc3RhYmxlIHZlcnNpb24gd2hlbiBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlN0YWJsZVZlcnNpb25cIiwge1xuICAgICAgICBuYW1lOiBcInN0YWJsZS12ZXJzaW9uLWRpYWdub3N0aWNzXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDE2LTA5LTAxXCIsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZShcIjIwMTYtMDktMDFcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCB1c2UgcHJldmlldyB2ZXJzaW9uIHdoZW4gZXhwbGljaXRseSBzcGVjaWZpZWRcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlByZXZpZXdWZXJzaW9uXCIsIHtcbiAgICAgICAgbmFtZTogXCJwcmV2aWV3LXZlcnNpb24tZGlhZ25vc3RpY3NcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBhcGlWZXJzaW9uOiBcIjIwMjEtMDUtMDEtcHJldmlld1wiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDIxLTA1LTAxLXByZXZpZXdcIik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFZhbGlkYXRpb24gVGVzdHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBkZXNjcmliZShcIlZhbGlkYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIHRocm93IGVycm9yIHdoZW4gbm8gZGVzdGluYXRpb24gaXMgc3BlY2lmaWVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJuby1kZXN0aW5hdGlvblwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgIH07XG5cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTm9EZXN0aW5hdGlvblwiLCBwcm9wcyk7XG4gICAgICB9KS50b1Rocm93KC9BdCBsZWFzdCBvbmUgZGVzdGluYXRpb24vKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHRocm93IGVycm9yIHdoZW4gZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkIHdpdGhvdXQgZXZlbnRIdWJOYW1lXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJtaXNzaW5nLWV2ZW50aHViLW5hbWVcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIGV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL3Rlc3QtZWgvYXV0aG9yaXphdGlvblJ1bGVzL3Rlc3QtcnVsZVwiLFxuICAgICAgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJNaXNzaW5nRXZlbnRIdWJOYW1lXCIsIHByb3BzKTtcbiAgICAgIH0pLnRvVGhyb3coL2V2ZW50SHViTmFtZSBpcyByZXF1aXJlZC8pO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgbm90IHRocm93IHdoZW4gZXZlbnRIdWJOYW1lIHByb3ZpZGVkIHdpdGggZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJ2YWxpZC1ldmVudGh1YlwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJtb25pdG9yaW5nLWh1YlwiLFxuICAgICAgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJWYWxpZEV2ZW50SHViXCIsIHByb3BzKTtcbiAgICAgIH0pLm5vdC50b1Rocm93KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIExvZyBhbmQgTWV0cmljIENvbmZpZ3VyYXRpb25cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBkZXNjcmliZShcIkxvZyBhbmQgTWV0cmljIENvbmZpZ3VyYXRpb25cIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBsb2dzIHdpdGggc3BlY2lmaWMgY2F0ZWdvcmllc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb2dzOiBEaWFnbm9zdGljTG9nQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICByZXRlbnRpb25Qb2xpY3k6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBkYXlzOiA5MCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnk6IFwiU2VjdXJpdHlFdmVudFwiLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgcmV0ZW50aW9uUG9saWN5OiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgZGF5czogMzY1LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTG9nQ2F0ZWdvcmllc1wiLCB7XG4gICAgICAgIG5hbWU6IFwibG9nLWNhdGVnb3JpZXNcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy90ZXN0LXN0b3JhZ2VcIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3MsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgyKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5sb2dzIVswXS5jYXRlZ29yeSkudG9CZShcIkF1ZGl0RXZlbnRcIik7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubG9ncyFbMF0ucmV0ZW50aW9uUG9saWN5Py5kYXlzKS50b0JlKDkwKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBsb2dzIHdpdGggY2F0ZWdvcnkgZ3JvdXBzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGxvZ3M6IERpYWdub3N0aWNMb2dDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5R3JvdXA6IFwiYWxsTG9nc1wiLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTG9nQ2F0ZWdvcnlHcm91cFwiLCB7XG4gICAgICAgIG5hbWU6IFwibG9nLWNhdGVnb3J5LWdyb3VwXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgbG9ncyxcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDIxLTA1LTAxLXByZXZpZXdcIiwgLy8gQ2F0ZWdvcnkgZ3JvdXBzIGF2YWlsYWJsZSBpbiBwcmV2aWV3XG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5sb2dzIVswXS5jYXRlZ29yeUdyb3VwKS50b0JlKFwiYWxsTG9nc1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNvbmZpZ3VyZSBtZXRyaWNzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDMwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiTWV0cmljc1wiLCB7XG4gICAgICAgIG5hbWU6IFwibWV0cmljcy1jb25maWdcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBtZXRyaWNzLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5tZXRyaWNzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MucHJvcHMubWV0cmljcyFbMF0uY2F0ZWdvcnkpLnRvQmUoXCJBbGxNZXRyaWNzXCIpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLm1ldHJpY3MhWzBdLnJldGVudGlvblBvbGljeT8uZGF5cykudG9CZSgzMCk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjb25maWd1cmUgYm90aCBsb2dzIGFuZCBtZXRyaWNzXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGxvZ3M6IERpYWdub3N0aWNMb2dDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFkbWluaXN0cmF0aXZlXCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkxvZ3NBbmRNZXRyaWNzXCIsIHtcbiAgICAgICAgbmFtZTogXCJsb2dzLWFuZC1tZXRyaWNzXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrU2VjdXJpdHlHcm91cHMvdGVzdC1uc2dcIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3MsXG4gICAgICAgIG1ldHJpY3MsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLnByb3BzLmxvZ3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5wcm9wcy5tZXRyaWNzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFByb3BlcnR5IFRyYW5zZm9ybWF0aW9uXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJQcm9wZXJ0eSBUcmFuc2Zvcm1hdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgZ2VuZXJhdGUgY29ycmVjdCBBenVyZSBBUEkgZm9ybWF0IHZpYSBjcmVhdGVSZXNvdXJjZUJvZHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzID0ge1xuICAgICAgICBuYW1lOiBcInRyYW5zZm9ybS10ZXN0XCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdGVzdC12bVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgbG9nczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBcIkF1ZGl0RXZlbnRcIixcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbWV0cmljczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJUcmFuc2Zvcm1UZXN0XCIsIHByb3BzKTtcblxuICAgICAgLy8gQWNjZXNzIHRoZSBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5IG1ldGhvZFxuICAgICAgY29uc3QgcmVzb3VyY2VCb2R5ID0gKGRpYWdub3N0aWNzIGFzIGFueSkuY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzKTtcblxuICAgICAgZXhwZWN0KHJlc291cmNlQm9keSkudG9IYXZlUHJvcGVydHkoXCJwcm9wZXJ0aWVzXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzKS50b0hhdmVQcm9wZXJ0eShcIndvcmtzcGFjZUlkXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzKS50b0hhdmVQcm9wZXJ0eShcImxvZ3NcIik7XG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMpLnRvSGF2ZVByb3BlcnR5KFwibWV0cmljc1wiKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkpLm5vdC50b0hhdmVQcm9wZXJ0eShcImxvY2F0aW9uXCIpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keSkubm90LnRvSGF2ZVByb3BlcnR5KFwidGFnc1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGluY2x1ZGUgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlIHdoZW4gc3BlY2lmaWVkXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyA9IHtcbiAgICAgICAgbmFtZTogXCJkZXN0aW5hdGlvbi10eXBlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgICBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGU6IFwiRGVkaWNhdGVkXCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBkaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3MoXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIkRlc3RpbmF0aW9uVHlwZVwiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG4gICAgICBjb25zdCByZXNvdXJjZUJvZHkgPSAoZGlhZ25vc3RpY3MgYXMgYW55KS5jcmVhdGVSZXNvdXJjZUJvZHkocHJvcHMpO1xuXG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMubG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlKS50b0JlKFxuICAgICAgICBcIkRlZGljYXRlZFwiLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBlbXB0eSBsb2dzIGFuZCBtZXRyaWNzIGFycmF5c1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwiZW1wdHktYXJyYXlzLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIkVtcHR5QXJyYXlzXCIsIHByb3BzKTtcbiAgICAgIGNvbnN0IHJlc291cmNlQm9keSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLmNyZWF0ZVJlc291cmNlQm9keShwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5sb2dzKS50b0VxdWFsKFtdKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5tZXRyaWNzKS50b0VxdWFsKFtdKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW50ZWdyYXRpb24gd2l0aCBCYXNlIENsYXNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgZGVzY3JpYmUoXCJJbnRlZ3JhdGlvbiB3aXRoIEJhc2UgQ2xhc3NcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGluaGVyaXQgZnJvbSBBemFwaVJlc291cmNlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJJbmhlcml0YW5jZVRlc3RcIiwge1xuICAgICAgICBuYW1lOiBcImluaGVyaXRhbmNlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFZlcmlmeSBpdCBoYXMgQXphcGlSZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MpLnRvSGF2ZVByb3BlcnR5KFwidGVycmFmb3JtUmVzb3VyY2VcIik7XG4gICAgICBleHBlY3QoZGlhZ25vc3RpY3MpLnRvSGF2ZVByb3BlcnR5KFwicmVzb2x2ZWRBcGlWZXJzaW9uXCIpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgaGF2ZSBjb3JyZWN0IGF6YXBpUmVzb3VyY2VUeXBlXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzID0gbmV3IERpYWdub3N0aWNTZXR0aW5ncyhzdGFjaywgXCJSZXNvdXJjZVR5cGVUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJyZXNvdXJjZS10eXBlLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEFjY2VzcyB0aGUgcHJvdGVjdGVkIHJlc291cmNlVHlwZSBtZXRob2RcbiAgICAgIGNvbnN0IHJlc291cmNlVHlwZSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLnJlc291cmNlVHlwZSgpO1xuICAgICAgZXhwZWN0KHJlc291cmNlVHlwZSkudG9CZShcIk1pY3Jvc29mdC5JbnNpZ2h0cy9kaWFnbm9zdGljU2V0dGluZ3NcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCByZXNvbHZlIHBhcmVudCBJRCBjb3JyZWN0bHlcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0UmVzb3VyY2VJZCA9XG4gICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIjtcblxuICAgICAgY29uc3QgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzID0ge1xuICAgICAgICBuYW1lOiBcInBhcmVudC1pZC10ZXN0XCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlBhcmVudElkVGVzdFwiLCBwcm9wcyk7XG5cbiAgICAgIC8vIEFjY2VzcyB0aGUgcHJvdGVjdGVkIHJlc29sdmVQYXJlbnRJZCBtZXRob2RcbiAgICAgIGNvbnN0IHBhcmVudElkID0gKGRpYWdub3N0aWNzIGFzIGFueSkucmVzb2x2ZVBhcmVudElkKHByb3BzKTtcbiAgICAgIGV4cGVjdChwYXJlbnRJZCkudG9CZSh0YXJnZXRSZXNvdXJjZUlkKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGdlbmVyYXRlIHJlc291cmNlIG91dHB1dHNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIk91dHB1dHNUZXN0XCIsIHtcbiAgICAgICAgbmFtZTogXCJvdXRwdXRzLXRlc3RcIixcbiAgICAgICAgdGFyZ2V0UmVzb3VyY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90ZXN0LXZtXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5pZE91dHB1dCkudG9CZUluc3RhbmNlT2YoY2RrdG4uVGVycmFmb3JtT3V0cHV0KTtcbiAgICAgIGV4cGVjdChkaWFnbm9zdGljcy5uYW1lT3V0cHV0KS50b0JlSW5zdGFuY2VPZihjZGt0bi5UZXJyYWZvcm1PdXRwdXQpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzLmlkKS50b01hdGNoKC9eXFwkXFx7LipcXC5pZFxcfSQvKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ0RLIFRlcnJhZm9ybSBJbnRlZ3JhdGlvblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiQ0RLIFRlcnJhZm9ybSBJbnRlZ3JhdGlvblwiLCAoKSA9PiB7XG4gICAgaXQoXCJzaG91bGQgc3ludGhlc2l6ZSB0byB2YWxpZCBUZXJyYWZvcm0gY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG4gICAgICBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHN0YWNrLCBcIlN5bnRoVGVzdFwiLCB7XG4gICAgICAgIG5hbWU6IFwic3ludGgtdGVzdFwiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkNvbXB1dGUvdmlydHVhbE1hY2hpbmVzL3Rlc3Qtdm1cIixcbiAgICAgICAgd29ya3NwYWNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzL3Rlc3Qtd29ya3NwYWNlXCIsXG4gICAgICAgIGxvZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3ludGhlc2l6ZWQgPSBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgICAgIGV4cGVjdChzeW50aGVzaXplZCkudG9CZURlZmluZWQoKTtcblxuICAgICAgY29uc3Qgc3RhY2tDb25maWcgPSBKU09OLnBhcnNlKHN5bnRoZXNpemVkKTtcbiAgICAgIGV4cGVjdChzdGFja0NvbmZpZy5yZXNvdXJjZSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBtdWx0aXBsZSBkaWFnbm9zdGljIHNldHRpbmdzIGluIHRoZSBzYW1lIHN0YWNrXCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzMSA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiRGlhZ25vc3RpY3MxXCIsIHtcbiAgICAgICAgbmFtZTogXCJkaWFnbm9zdGljcy0xXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0xXCIsXG4gICAgICAgIHdvcmtzcGFjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk9wZXJhdGlvbmFsSW5zaWdodHMvd29ya3NwYWNlcy90ZXN0LXdvcmtzcGFjZVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGRpYWdub3N0aWNzMiA9IG5ldyBEaWFnbm9zdGljU2V0dGluZ3Moc3RhY2ssIFwiRGlhZ25vc3RpY3MyXCIsIHtcbiAgICAgICAgbmFtZTogXCJkaWFnbm9zdGljcy0yXCIsXG4gICAgICAgIHRhcmdldFJlc291cmNlSWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS92aXJ0dWFsTWFjaGluZXMvdm0yXCIsXG4gICAgICAgIHN0b3JhZ2VBY2NvdW50SWQ6XG4gICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHMvYXJjaGl2ZS1zdG9yYWdlXCIsXG4gICAgICAgIGFwaVZlcnNpb246IFwiMjAxNi0wOS0wMVwiLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChkaWFnbm9zdGljczEucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyMS0wNS0wMS1wcmV2aWV3XCIpO1xuICAgICAgZXhwZWN0KGRpYWdub3N0aWNzMi5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDE2LTA5LTAxXCIpO1xuXG4gICAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3Rpbmcuc3ludGgoc3RhY2spO1xuICAgICAgZXhwZWN0KHN5bnRoZXNpemVkKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBDb21wbGV4IFNjZW5hcmlvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGRlc2NyaWJlKFwiQ29tcGxleCBTY2VuYXJpb3NcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGhhbmRsZSBjb21wcmVoZW5zaXZlIGRpYWdub3N0aWMgc2V0dGluZ3MgY29uZmlndXJhdGlvblwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBsb2dzOiBEaWFnbm9zdGljTG9nQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeTogXCJBdWRpdEV2ZW50XCIsXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICByZXRlbnRpb25Qb2xpY3k6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBkYXlzOiAzNjUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIlNlY3VyaXR5RXZlbnRcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDM2NSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnk6IFwiQWRtaW5pc3RyYXRpdmVcIixcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IG1ldHJpY3M6IERpYWdub3N0aWNNZXRyaWNDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiBcIkFsbE1ldHJpY3NcIixcbiAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHJldGVudGlvblBvbGljeToge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRheXM6IDMwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBwcm9wczogRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwiY29tcHJlaGVuc2l2ZS1kaWFnbm9zdGljc1wiLFxuICAgICAgICB0YXJnZXRSZXNvdXJjZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3Rlc3Qtc3RvcmFnZVwiLFxuICAgICAgICB3b3Jrc3BhY2VJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXMvdGVzdC13b3Jrc3BhY2VcIixcbiAgICAgICAgc3RvcmFnZUFjY291bnRJZDpcbiAgICAgICAgICBcIi9zdWJzY3JpcHRpb25zL3Rlc3Qtc3ViL3Jlc291cmNlR3JvdXBzL3Rlc3QtcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9hcmNoaXZlLXN0b3JhZ2VcIixcbiAgICAgICAgZXZlbnRIdWJBdXRob3JpemF0aW9uUnVsZUlkOlxuICAgICAgICAgIFwiL3N1YnNjcmlwdGlvbnMvdGVzdC1zdWIvcmVzb3VyY2VHcm91cHMvdGVzdC1yZy9wcm92aWRlcnMvTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvdGVzdC1laC9hdXRob3JpemF0aW9uUnVsZXMvdGVzdC1ydWxlXCIsXG4gICAgICAgIGV2ZW50SHViTmFtZTogXCJzZWN1cml0eS1ldmVudHNcIixcbiAgICAgICAgbG9ncyxcbiAgICAgICAgbWV0cmljcyxcbiAgICAgICAgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlOiBcIkRlZGljYXRlZFwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJDb21wcmVoZW5zaXZlQ29uZmlnXCIsXG4gICAgICAgIHByb3BzLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJlc291cmNlQm9keSA9IChkaWFnbm9zdGljcyBhcyBhbnkpLmNyZWF0ZVJlc291cmNlQm9keShwcm9wcyk7XG5cbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy53b3Jrc3BhY2VJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5zdG9yYWdlQWNjb3VudElkKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzLmV2ZW50SHViQXV0aG9yaXphdGlvblJ1bGVJZCkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5ldmVudEh1Yk5hbWUpLnRvQmUoXCJzZWN1cml0eS1ldmVudHNcIik7XG4gICAgICBleHBlY3QocmVzb3VyY2VCb2R5LnByb3BlcnRpZXMubG9ncykudG9IYXZlTGVuZ3RoKDMpO1xuICAgICAgZXhwZWN0KHJlc291cmNlQm9keS5wcm9wZXJ0aWVzLm1ldHJpY3MpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChyZXNvdXJjZUJvZHkucHJvcGVydGllcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUpLnRvQmUoXG4gICAgICAgIFwiRGVkaWNhdGVkXCIsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - JSII compliance for multi-language support
|
|
16
16
|
* - Conditional DNS forwarding for hybrid scenarios
|
|
17
17
|
*/
|
|
18
|
-
import * as
|
|
18
|
+
import * as cdktn from "cdktn";
|
|
19
19
|
import { Construct } from "constructs";
|
|
20
20
|
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
21
21
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -117,12 +117,12 @@ export interface DnsForwardingRulesetBody {
|
|
|
117
117
|
*/
|
|
118
118
|
export declare class DnsForwardingRuleset extends AzapiResource {
|
|
119
119
|
readonly props: DnsForwardingRulesetProps;
|
|
120
|
-
readonly idOutput:
|
|
121
|
-
readonly locationOutput:
|
|
122
|
-
readonly nameOutput:
|
|
123
|
-
readonly tagsOutput:
|
|
124
|
-
readonly provisioningStateOutput:
|
|
125
|
-
readonly resourceGuidOutput:
|
|
120
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
121
|
+
readonly locationOutput: cdktn.TerraformOutput;
|
|
122
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
123
|
+
readonly tagsOutput: cdktn.TerraformOutput;
|
|
124
|
+
readonly provisioningStateOutput: cdktn.TerraformOutput;
|
|
125
|
+
readonly resourceGuidOutput: cdktn.TerraformOutput;
|
|
126
126
|
/**
|
|
127
127
|
* Creates a new Azure DNS Forwarding Ruleset using the AzapiResource framework
|
|
128
128
|
*
|
|
@@ -20,7 +20,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
20
20
|
* - JSII compliance for multi-language support
|
|
21
21
|
* - Conditional DNS forwarding for hybrid scenarios
|
|
22
22
|
*/
|
|
23
|
-
const
|
|
23
|
+
const cdktn = require("cdktn");
|
|
24
24
|
const dns_forwarding_ruleset_schemas_1 = require("./dns-forwarding-ruleset-schemas");
|
|
25
25
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
26
26
|
/**
|
|
@@ -84,27 +84,27 @@ class DnsForwardingRuleset extends azapi_resource_1.AzapiResource {
|
|
|
84
84
|
this.props = props;
|
|
85
85
|
// Extract properties from the AZAPI resource outputs
|
|
86
86
|
// Create Terraform outputs
|
|
87
|
-
this.idOutput = new
|
|
87
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
88
88
|
value: this.id,
|
|
89
89
|
description: "The ID of the DNS Forwarding Ruleset",
|
|
90
90
|
});
|
|
91
|
-
this.locationOutput = new
|
|
91
|
+
this.locationOutput = new cdktn.TerraformOutput(this, "location", {
|
|
92
92
|
value: `\${${this.terraformResource.fqn}.location}`,
|
|
93
93
|
description: "The location of the DNS Forwarding Ruleset",
|
|
94
94
|
});
|
|
95
|
-
this.nameOutput = new
|
|
95
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
96
96
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
97
97
|
description: "The name of the DNS Forwarding Ruleset",
|
|
98
98
|
});
|
|
99
|
-
this.tagsOutput = new
|
|
99
|
+
this.tagsOutput = new cdktn.TerraformOutput(this, "tags", {
|
|
100
100
|
value: `\${${this.terraformResource.fqn}.tags}`,
|
|
101
101
|
description: "The tags assigned to the DNS Forwarding Ruleset",
|
|
102
102
|
});
|
|
103
|
-
this.provisioningStateOutput = new
|
|
103
|
+
this.provisioningStateOutput = new cdktn.TerraformOutput(this, "provisioning_state", {
|
|
104
104
|
value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
|
|
105
105
|
description: "The provisioning state of the DNS Forwarding Ruleset resource",
|
|
106
106
|
});
|
|
107
|
-
this.resourceGuidOutput = new
|
|
107
|
+
this.resourceGuidOutput = new cdktn.TerraformOutput(this, "resource_guid", {
|
|
108
108
|
value: `\${${this.terraformResource.fqn}.output.properties.resourceGuid}`,
|
|
109
109
|
description: "The unique identifier for the DNS Forwarding Ruleset resource",
|
|
110
110
|
});
|
|
@@ -207,8 +207,8 @@ class DnsForwardingRuleset extends azapi_resource_1.AzapiResource {
|
|
|
207
207
|
}
|
|
208
208
|
exports.DnsForwardingRuleset = DnsForwardingRuleset;
|
|
209
209
|
_a = JSII_RTTI_SYMBOL_1;
|
|
210
|
-
DnsForwardingRuleset[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRuleset", version: "
|
|
210
|
+
DnsForwardingRuleset[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRuleset", version: "2.2.0" };
|
|
211
211
|
(() => {
|
|
212
212
|
azapi_resource_1.AzapiResource.registerSchemas(dns_forwarding_ruleset_schemas_1.DNS_FORWARDING_RULESET_TYPE, dns_forwarding_ruleset_schemas_1.ALL_DNS_FORWARDING_RULESET_VERSIONS);
|
|
213
213
|
})();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWZvcndhcmRpbmctcnVsZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldC9saWIvZG5zLWZvcndhcmRpbmctcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBRUgsK0JBQStCO0FBRS9CLHFGQUcwQztBQUMxQyw4RUFHbUQ7QUF3RG5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOENHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw4QkFBYTtJQWtCckQsb0JBQW9CO0lBRXBCOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIscURBQXFEO1FBRXJELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSxzQ0FBc0M7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNoRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxZQUFZO1lBQ25ELFdBQVcsRUFBRSw0Q0FBNEM7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJ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QyxHQUFXLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBVztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELGdGQUFnRjtJQUNoRix5QkFBeUI7SUFDekIsZ0ZBQWdGO0lBRWhGOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUM5QyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQXZMSCxvREF3TEM7OztBQXZMQztJQUNFLDhCQUFhLENBQUMsZUFBZSxDQUMzQiw0REFBMkIsRUFDM0Isb0VBQW1DLENBQ3BDLENBQUM7QUFDSixDQUFDLEdBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVW5pZmllZCBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gKiB0aGF0IHdvcmsgd2l0aCBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnRzIHRvIGVuYWJsZSBjb25kaXRpb25hbCBmb3J3YXJkaW5nIHJ1bGVzLlxuICpcbiAqIFN1cHBvcnRlZCBBUEkgVmVyc2lvbnM6XG4gKiAtIDIwMjItMDctMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGludGVyZmFjZVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqIC0gQ29uZGl0aW9uYWwgRE5TIGZvcndhcmRpbmcgZm9yIGh5YnJpZCBzY2VuYXJpb3NcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9WRVJTSU9OUyxcbiAgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9UWVBFLFxufSBmcm9tIFwiLi9kbnMtZm9yd2FyZGluZy1ydWxlc2V0LXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHVuaWZpZWQgQXp1cmUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggRE5TIEZvcndhcmRpbmcgUnVsZXNldCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG5zRm9yd2FyZGluZ1J1bGVzZXRQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiByZXNvdXJjZSBJRHMgb2YgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50c1xuICAgKiBUaGUgcnVsZXNldCB1c2VzIHRoZXNlIGVuZHBvaW50cyB0byBmb3J3YXJkIEROUyBxdWVyaWVzIGJhc2VkIG9uIHRoZSBydWxlc1xuICAgKiBAZXhhbXBsZSBbXCIvc3Vic2NyaXB0aW9ucy8uLi4vZG5zUmVzb2x2ZXJzL3Jlc29sdmVyMS9vdXRib3VuZEVuZHBvaW50cy9lbmRwb2ludDFcIl1cbiAgICovXG4gIHJlYWRvbmx5IGRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogQGV4YW1wbGUgW1widGFnc1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBncm91cCBJRCB3aGVyZSB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgQVBJIGNhbGxzXG4gKiBUaGlzIG1hdGNoZXMgdGhlIEF6dXJlIFJFU1QgQVBJIHNjaGVtYVxuICovXG4vKipcbiAqIEROUyBSZXNvbHZlciBPdXRib3VuZCBFbmRwb2ludCByZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRSZWZlcmVuY2Uge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BlcnRpZXMge1xuICByZWFkb25seSBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRzOiBEbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRSZWZlcmVuY2VbXTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgQVBJIGNhbGxzXG4gKiBUaGlzIG1hdGNoZXMgdGhlIEF6dXJlIFJFU1QgQVBJIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERuc0ZvcndhcmRpbmdSdWxlc2V0Qm9keSB7XG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICByZWFkb25seSBwcm9wZXJ0aWVzOiBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gKiB0aGF0IGVuYWJsZSBjb25kaXRpb25hbCBmb3J3YXJkaW5nIG9mIEROUyBxdWVyaWVzLiBSdWxlc2V0cyB3b3JrIHdpdGggRE5TIFJlc29sdmVyXG4gKiBPdXRib3VuZCBFbmRwb2ludHMgdG8gcm91dGUgcXVlcmllcyB0byBzcGVjaWZpYyB0YXJnZXQgRE5TIHNlcnZlcnMgYmFzZWQgb24gZG9tYWluIG5hbWVzLlxuICpcbiAqIEtleSBSZXF1aXJlbWVudHM6XG4gKiAtIFJlcXVpcmVzIGF0IGxlYXN0IG9uZSBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnRcbiAqIC0gRWFjaCBydWxlc2V0IGNhbiBjb250YWluIHVwIHRvIDEwMDAgZm9yd2FyZGluZyBydWxlc1xuICogLSBSZWdpb25hbCByZXNvdXJjZSAobXVzdCBtYXRjaCBvdXRib3VuZCBlbmRwb2ludCBsb2NhdGlvbilcbiAqIC0gQ2FuIGJlIGxpbmtlZCB0byBtdWx0aXBsZSB2aXJ0dWFsIG5ldHdvcmtzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIEROUyBmb3J3YXJkaW5nIHJ1bGVzZXQgd2l0aCBhdXRvbWF0aWMgdmVyc2lvbiByZXNvbHV0aW9uOlxuICogY29uc3QgcnVsZXNldCA9IG5ldyBEbnNGb3J3YXJkaW5nUnVsZXNldCh0aGlzLCBcInJ1bGVzZXRcIiwge1xuICogICBuYW1lOiBcIm15LXJ1bGVzZXRcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAqICAgZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzOiBbb3V0Ym91bmRFbmRwb2ludC5pZF0sXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRE5TIGZvcndhcmRpbmcgcnVsZXNldCB3aXRoIHRhZ3M6XG4gKiBjb25zdCBydWxlc2V0ID0gbmV3IERuc0ZvcndhcmRpbmdSdWxlc2V0KHRoaXMsIFwicnVsZXNldFwiLCB7XG4gKiAgIG5hbWU6IFwibXktcnVsZXNldFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRJZHM6IFtvdXRib3VuZEVuZHBvaW50LmlkXSxcbiAqICAgdGFnczoge1xuICogICAgIGVudmlyb25tZW50OiBcInByb2R1Y3Rpb25cIixcbiAqICAgICBwdXJwb3NlOiBcImh5YnJpZC1kbnNcIlxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRE5TIGZvcndhcmRpbmcgcnVsZXNldCB3aXRoIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZzpcbiAqIGNvbnN0IHJ1bGVzZXQgPSBuZXcgRG5zRm9yd2FyZGluZ1J1bGVzZXQodGhpcywgXCJydWxlc2V0XCIsIHtcbiAqICAgbmFtZTogXCJteS1ydWxlc2V0XCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkczogW291dGJvdW5kRW5kcG9pbnQuaWRdLFxuICogICBhcGlWZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEbnNGb3J3YXJkaW5nUnVsZXNldCBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9UWVBFLFxuICAgICAgQUxMX0ROU19GT1JXQVJESU5HX1JVTEVTRVRfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogRG5zRm9yd2FyZGluZ1J1bGVzZXRQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25PdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHRhZ3NPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZUd1aWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllc1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0c1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0XCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWdzT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcInRhZ3NcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0udGFnc31gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHRhZ3MgYXNzaWduZWQgdG8gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcIixcbiAgICB9KTtcblxuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicHJvdmlzaW9uaW5nX3N0YXRlXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgIFwiVGhlIHByb3Zpc2lvbmluZyBzdGF0ZSBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCByZXNvdXJjZVwiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNvdXJjZUd1aWRPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwicmVzb3VyY2VfZ3VpZFwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5yZXNvdXJjZUd1aWR9YCxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2VcIixcbiAgICB9KTtcblxuICAgIC8vIE92ZXJyaWRlIGxvZ2ljYWwgSURzXG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJsb2NhdGlvblwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMudGFnc091dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInRhZ3NcIik7XG4gICAgdGhpcy5wcm92aXNpb25pbmdTdGF0ZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInByb3Zpc2lvbmluZ19zdGF0ZVwiKTtcbiAgICB0aGlzLnJlc291cmNlR3VpZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2d1aWRcIik7XG5cbiAgICAvLyBBcHBseSBpZ25vcmUgY2hhbmdlcyBpZiBzcGVjaWZpZWRcbiAgICB0aGlzLl9hcHBseUlnbm9yZUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjItMDctMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBETlMgRm9yd2FyZGluZyBSdWxlc2V0c1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBETlNfRk9SV0FSRElOR19SVUxFU0VUX1RZUEU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVBJIHNjaGVtYSBmb3IgdGhlIHJlc29sdmVkIHZlcnNpb25cbiAgICovXG4gIHByb3RlY3RlZCBhcGlTY2hlbWEoKTogQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2NoZW1hKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgbG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNMb2NhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIERuc0ZvcndhcmRpbmdSdWxlc2V0UHJvcHM7XG5cbiAgICBjb25zdCBib2R5OiBEbnNGb3J3YXJkaW5nUnVsZXNldEJvZHkgPSB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbiEsXG4gICAgICB0YWdzOiB0aGlzLmFsbFRhZ3MoKSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50czpcbiAgICAgICAgICB0eXBlZFByb3BzLmRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkcy5tYXAoKGlkKSA9PiAoeyBpZCB9KSksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBETlMgRk9SV0FSRElORyBSVUxFU0VUIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvdmlzaW9uaW5nU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlR3VpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnJlc291cmNlR3VpZH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhZyB0byB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFxuICAgKi9cbiAgcHVibGljIGFkZFRhZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9wcy50YWdzKSB7XG4gICAgICAodGhpcy5wcm9wcyBhcyBhbnkpLnRhZ3MgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy50YWdzIVtrZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgdGFnIGZyb20gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVUYWcoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50YWdzICYmIHRoaXMucHJvcHMudGFnc1trZXldKSB7XG4gICAgICBkZWxldGUgdGhpcy5wcm9wcy50YWdzW2tleV07XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFURSBIRUxQRVIgTUVUSE9EU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlcyBpZiBzcGVjaWZpZWQgaW4gcHJvcHNcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5SWdub3JlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzICYmIHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWZvcndhcmRpbmctcnVsZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldC9saWIvZG5zLWZvcndhcmRpbmctcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBRUgsK0JBQStCO0FBRS9CLHFGQUcwQztBQUMxQyw4RUFHbUQ7QUF3RG5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOENHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw4QkFBYTtJQWtCckQsb0JBQW9CO0lBRXBCOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIscURBQXFEO1FBRXJELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSxzQ0FBc0M7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNoRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxZQUFZO1lBQ25ELFdBQVcsRUFBRSw0Q0FBNEM7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJ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QyxHQUFXLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBYSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBVztRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELGdGQUFnRjtJQUNoRix5QkFBeUI7SUFDekIsZ0ZBQWdGO0lBRWhGOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUM5QyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQXZMSCxvREF3TEM7OztBQXZMQztJQUNFLDhCQUFhLENBQUMsZUFBZSxDQUMzQiw0REFBMkIsRUFDM0Isb0VBQW1DLENBQ3BDLENBQUM7QUFDSixDQUFDLEdBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVW5pZmllZCBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gKiB0aGF0IHdvcmsgd2l0aCBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnRzIHRvIGVuYWJsZSBjb25kaXRpb25hbCBmb3J3YXJkaW5nIHJ1bGVzLlxuICpcbiAqIFN1cHBvcnRlZCBBUEkgVmVyc2lvbnM6XG4gKiAtIDIwMjItMDctMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGludGVyZmFjZVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqIC0gQ29uZGl0aW9uYWwgRE5TIGZvcndhcmRpbmcgZm9yIGh5YnJpZCBzY2VuYXJpb3NcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9WRVJTSU9OUyxcbiAgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9UWVBFLFxufSBmcm9tIFwiLi9kbnMtZm9yd2FyZGluZy1ydWxlc2V0LXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHVuaWZpZWQgQXp1cmUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggRE5TIEZvcndhcmRpbmcgUnVsZXNldCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG5zRm9yd2FyZGluZ1J1bGVzZXRQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiByZXNvdXJjZSBJRHMgb2YgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50c1xuICAgKiBUaGUgcnVsZXNldCB1c2VzIHRoZXNlIGVuZHBvaW50cyB0byBmb3J3YXJkIEROUyBxdWVyaWVzIGJhc2VkIG9uIHRoZSBydWxlc1xuICAgKiBAZXhhbXBsZSBbXCIvc3Vic2NyaXB0aW9ucy8uLi4vZG5zUmVzb2x2ZXJzL3Jlc29sdmVyMS9vdXRib3VuZEVuZHBvaW50cy9lbmRwb2ludDFcIl1cbiAgICovXG4gIHJlYWRvbmx5IGRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogQGV4YW1wbGUgW1widGFnc1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBncm91cCBJRCB3aGVyZSB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgQVBJIGNhbGxzXG4gKiBUaGlzIG1hdGNoZXMgdGhlIEF6dXJlIFJFU1QgQVBJIHNjaGVtYVxuICovXG4vKipcbiAqIEROUyBSZXNvbHZlciBPdXRib3VuZCBFbmRwb2ludCByZWZlcmVuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRSZWZlcmVuY2Uge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BlcnRpZXMge1xuICByZWFkb25seSBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRzOiBEbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRSZWZlcmVuY2VbXTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgQVBJIGNhbGxzXG4gKiBUaGlzIG1hdGNoZXMgdGhlIEF6dXJlIFJFU1QgQVBJIHNjaGVtYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERuc0ZvcndhcmRpbmdSdWxlc2V0Qm9keSB7XG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICByZWFkb25seSBwcm9wZXJ0aWVzOiBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogVW5pZmllZCBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gKiB0aGF0IGVuYWJsZSBjb25kaXRpb25hbCBmb3J3YXJkaW5nIG9mIEROUyBxdWVyaWVzLiBSdWxlc2V0cyB3b3JrIHdpdGggRE5TIFJlc29sdmVyXG4gKiBPdXRib3VuZCBFbmRwb2ludHMgdG8gcm91dGUgcXVlcmllcyB0byBzcGVjaWZpYyB0YXJnZXQgRE5TIHNlcnZlcnMgYmFzZWQgb24gZG9tYWluIG5hbWVzLlxuICpcbiAqIEtleSBSZXF1aXJlbWVudHM6XG4gKiAtIFJlcXVpcmVzIGF0IGxlYXN0IG9uZSBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnRcbiAqIC0gRWFjaCBydWxlc2V0IGNhbiBjb250YWluIHVwIHRvIDEwMDAgZm9yd2FyZGluZyBydWxlc1xuICogLSBSZWdpb25hbCByZXNvdXJjZSAobXVzdCBtYXRjaCBvdXRib3VuZCBlbmRwb2ludCBsb2NhdGlvbilcbiAqIC0gQ2FuIGJlIGxpbmtlZCB0byBtdWx0aXBsZSB2aXJ0dWFsIG5ldHdvcmtzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIEROUyBmb3J3YXJkaW5nIHJ1bGVzZXQgd2l0aCBhdXRvbWF0aWMgdmVyc2lvbiByZXNvbHV0aW9uOlxuICogY29uc3QgcnVsZXNldCA9IG5ldyBEbnNGb3J3YXJkaW5nUnVsZXNldCh0aGlzLCBcInJ1bGVzZXRcIiwge1xuICogICBuYW1lOiBcIm15LXJ1bGVzZXRcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAqICAgZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzOiBbb3V0Ym91bmRFbmRwb2ludC5pZF0sXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRE5TIGZvcndhcmRpbmcgcnVsZXNldCB3aXRoIHRhZ3M6XG4gKiBjb25zdCBydWxlc2V0ID0gbmV3IERuc0ZvcndhcmRpbmdSdWxlc2V0KHRoaXMsIFwicnVsZXNldFwiLCB7XG4gKiAgIG5hbWU6IFwibXktcnVsZXNldFwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRJZHM6IFtvdXRib3VuZEVuZHBvaW50LmlkXSxcbiAqICAgdGFnczoge1xuICogICAgIGVudmlyb25tZW50OiBcInByb2R1Y3Rpb25cIixcbiAqICAgICBwdXJwb3NlOiBcImh5YnJpZC1kbnNcIlxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRE5TIGZvcndhcmRpbmcgcnVsZXNldCB3aXRoIGV4cGxpY2l0IHZlcnNpb24gcGlubmluZzpcbiAqIGNvbnN0IHJ1bGVzZXQgPSBuZXcgRG5zRm9yd2FyZGluZ1J1bGVzZXQodGhpcywgXCJydWxlc2V0XCIsIHtcbiAqICAgbmFtZTogXCJteS1ydWxlc2V0XCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkczogW291dGJvdW5kRW5kcG9pbnQuaWRdLFxuICogICBhcGlWZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEbnNGb3J3YXJkaW5nUnVsZXNldCBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9UWVBFLFxuICAgICAgQUxMX0ROU19GT1JXQVJESU5HX1JVTEVTRVRfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogRG5zRm9yd2FyZGluZ1J1bGVzZXRQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25PdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHRhZ3NPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZUd1aWRPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllc1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEbnNGb3J3YXJkaW5nUnVsZXNldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0c1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0XCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy50YWdzT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcInRhZ3NcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0udGFnc31gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHRhZ3MgYXNzaWduZWQgdG8gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcIixcbiAgICB9KTtcblxuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicHJvdmlzaW9uaW5nX3N0YXRlXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgIFwiVGhlIHByb3Zpc2lvbmluZyBzdGF0ZSBvZiB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCByZXNvdXJjZVwiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNvdXJjZUd1aWRPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwicmVzb3VyY2VfZ3VpZFwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5yZXNvdXJjZUd1aWR9YCxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2VcIixcbiAgICB9KTtcblxuICAgIC8vIE92ZXJyaWRlIGxvZ2ljYWwgSURzXG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICAgIHRoaXMubG9jYXRpb25PdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJsb2NhdGlvblwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMudGFnc091dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInRhZ3NcIik7XG4gICAgdGhpcy5wcm92aXNpb25pbmdTdGF0ZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInByb3Zpc2lvbmluZ19zdGF0ZVwiKTtcbiAgICB0aGlzLnJlc291cmNlR3VpZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2d1aWRcIik7XG5cbiAgICAvLyBBcHBseSBpZ25vcmUgY2hhbmdlcyBpZiBzcGVjaWZpZWRcbiAgICB0aGlzLl9hcHBseUlnbm9yZUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFJFUVVJUkVEIEFCU1RSQUNUIE1FVEhPRFMgRlJPTSBBemFwaVJlc291cmNlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjItMDctMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBETlMgRm9yd2FyZGluZyBSdWxlc2V0c1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBETlNfRk9SV0FSRElOR19SVUxFU0VUX1RZUEU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVBJIHNjaGVtYSBmb3IgdGhlIHJlc29sdmVkIHZlcnNpb25cbiAgICovXG4gIHByb3RlY3RlZCBhcGlTY2hlbWEoKTogQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2NoZW1hKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgbG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNMb2NhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIERuc0ZvcndhcmRpbmdSdWxlc2V0UHJvcHM7XG5cbiAgICBjb25zdCBib2R5OiBEbnNGb3J3YXJkaW5nUnVsZXNldEJvZHkgPSB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbiEsXG4gICAgICB0YWdzOiB0aGlzLmFsbFRhZ3MoKSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50czpcbiAgICAgICAgICB0eXBlZFByb3BzLmRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkcy5tYXAoKGlkKSA9PiAoeyBpZCB9KSksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBETlMgRk9SV0FSRElORyBSVUxFU0VUIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvdmlzaW9uaW5nU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlR3VpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnJlc291cmNlR3VpZH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhZyB0byB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFxuICAgKi9cbiAgcHVibGljIGFkZFRhZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9wcy50YWdzKSB7XG4gICAgICAodGhpcy5wcm9wcyBhcyBhbnkpLnRhZ3MgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5wcm9wcy50YWdzIVtrZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgdGFnIGZyb20gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICovXG4gIHB1YmxpYyByZW1vdmVUYWcoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50YWdzICYmIHRoaXMucHJvcHMudGFnc1trZXldKSB7XG4gICAgICBkZWxldGUgdGhpcy5wcm9wcy50YWdzW2tleV07XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFURSBIRUxQRVIgTUVUSE9EU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlcyBpZiBzcGVjaWZpZWQgaW4gcHJvcHNcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5SWdub3JlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzICYmIHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* - JSII compliance for multi-language support
|
|
17
17
|
* - Up to 6 target DNS servers per rule
|
|
18
18
|
*/
|
|
19
|
-
import * as
|
|
19
|
+
import * as cdktn from "cdktn";
|
|
20
20
|
import { Construct } from "constructs";
|
|
21
21
|
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
22
22
|
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
@@ -141,9 +141,9 @@ export declare class ForwardingRule extends AzapiResource {
|
|
|
141
141
|
* The input properties for this Forwarding Rule instance
|
|
142
142
|
*/
|
|
143
143
|
readonly props: ForwardingRuleProps;
|
|
144
|
-
readonly idOutput:
|
|
145
|
-
readonly nameOutput:
|
|
146
|
-
readonly provisioningStateOutput:
|
|
144
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
145
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
146
|
+
readonly provisioningStateOutput: cdktn.TerraformOutput;
|
|
147
147
|
readonly resourceName: string;
|
|
148
148
|
/**
|
|
149
149
|
* Creates a new Azure DNS Forwarding Rule using the AzapiResource framework
|