@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
|
@@ -22,7 +22,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
22
22
|
* - Full backward compatibility
|
|
23
23
|
* - JSII compliance for multi-language support
|
|
24
24
|
*/
|
|
25
|
-
const
|
|
25
|
+
const cdktn = require("cdktn");
|
|
26
26
|
const virtual_network_gateway_connection_schemas_1 = require("./virtual-network-gateway-connection-schemas");
|
|
27
27
|
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
28
28
|
/**
|
|
@@ -124,19 +124,19 @@ class VirtualNetworkGatewayConnection extends azapi_resource_1.AzapiResource {
|
|
|
124
124
|
delete: "30m",
|
|
125
125
|
});
|
|
126
126
|
// Create Terraform outputs for easy access and referencing from other resources
|
|
127
|
-
this.idOutput = new
|
|
127
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
128
128
|
value: this.id,
|
|
129
129
|
description: "The ID of the Virtual Network Gateway Connection",
|
|
130
130
|
});
|
|
131
|
-
this.nameOutput = new
|
|
131
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
132
132
|
value: `\${${this.terraformResource.fqn}.name}`,
|
|
133
133
|
description: "The name of the Virtual Network Gateway Connection",
|
|
134
134
|
});
|
|
135
|
-
this.locationOutput = new
|
|
135
|
+
this.locationOutput = new cdktn.TerraformOutput(this, "location", {
|
|
136
136
|
value: `\${${this.terraformResource.fqn}.location}`,
|
|
137
137
|
description: "The location of the Virtual Network Gateway Connection",
|
|
138
138
|
});
|
|
139
|
-
this.tagsOutput = new
|
|
139
|
+
this.tagsOutput = new cdktn.TerraformOutput(this, "tags", {
|
|
140
140
|
value: `\${${this.terraformResource.fqn}.tags}`,
|
|
141
141
|
description: "The tags assigned to the Virtual Network Gateway Connection",
|
|
142
142
|
});
|
|
@@ -303,8 +303,8 @@ class VirtualNetworkGatewayConnection extends azapi_resource_1.AzapiResource {
|
|
|
303
303
|
}
|
|
304
304
|
exports.VirtualNetworkGatewayConnection = VirtualNetworkGatewayConnection;
|
|
305
305
|
_a = JSII_RTTI_SYMBOL_1;
|
|
306
|
-
VirtualNetworkGatewayConnection[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetworkGatewayConnection", version: "
|
|
306
|
+
VirtualNetworkGatewayConnection[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VirtualNetworkGatewayConnection", version: "2.2.0" };
|
|
307
307
|
(() => {
|
|
308
308
|
azapi_resource_1.AzapiResource.registerSchemas(virtual_network_gateway_connection_schemas_1.VIRTUAL_NETWORK_GATEWAY_CONNECTION_TYPE, virtual_network_gateway_connection_schemas_1.ALL_VIRTUAL_NETWORK_GATEWAY_CONNECTION_VERSIONS);
|
|
309
309
|
})();
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uL2xpYi92aXJ0dWFsLW5ldHdvcmstZ2F0ZXdheS1jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILCtCQUErQjtBQUUvQiw2R0FHc0Q7QUFDdEQsOEVBR21EO0FBb01uRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFRztBQUNILE1BQWEsK0JBQWdDLFNBQVEsOEJBQWE7SUFtQmhFOzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUEyQztRQUUzQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDN0MsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLGtEQUFrRDtTQUNoRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lB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QzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBelBILDBFQTBQQzs7O0FBelBDO0lBQ0UsOEJBQWEsQ0FBQyxlQUFlLENBQzNCLG9GQUF1QyxFQUN2Qyw0RkFBK0MsQ0FDaEQsQ0FBQztBQUNKLENBQUMsR0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIEF6dXJlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25zIHRoYXRcbiAqIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTAxLTAxIChBY3RpdmUpXG4gKiAtIDIwMjQtMDUtMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIFR5cGUtc2FmZSBjb25uZWN0aW9uIHR5cGUgaGFuZGxpbmcgdXNpbmcgZGlzY3JpbWluYXRlZCB1bmlvbnNcbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9WSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1ZFUlNJT05TLFxuICBWSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1RZUEUsXG59IGZyb20gXCIuL3ZpcnR1YWwtbmV0d29yay1nYXRld2F5LWNvbm5lY3Rpb24tc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlSZWZlcmVuY2Uge1xuICAvKipcbiAgICogUmVzb3VyY2UgSUQgb2YgdGhlIHZpcnR1YWwgbmV0d29yayBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSB0byBhbiBFeHByZXNzUm91dGUgY2lyY3VpdCBwZWVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGVlclJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgRXhwcmVzc1JvdXRlIGNpcmN1aXRcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSVBzZWMgcG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcHNlY1BvbGljeSB7XG4gIC8qKlxuICAgKiBESCBHcm91cCBmb3IgSUtFIFBoYXNlIDFcbiAgICogQGV4YW1wbGUgXCJESEdyb3VwMTRcIiwgXCJESEdyb3VwMjA0OFwiLCBcIkVDUDI1NlwiLCBcIkVDUDM4NFwiXG4gICAqL1xuICByZWFkb25seSBkaEdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElLRSBlbmNyeXB0aW9uIGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIkFFUzEyOFwiLCBcIkFFUzE5MlwiLCBcIkFFUzI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpa2VFbmNyeXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElLRSBpbnRlZ3JpdHkgYWxnb3JpdGhtXG4gICAqIEBleGFtcGxlIFwiU0hBMjU2XCIsIFwiU0hBMzg0XCIsIFwiR0NNQUVTMTI4XCIsIFwiR0NNQUVTMjU2XCJcbiAgICovXG4gIHJlYWRvbmx5IGlrZUludGVncml0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHNlYyBlbmNyeXB0aW9uIGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIkFFUzEyOFwiLCBcIkFFUzE5MlwiLCBcIkFFUzI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzE5MlwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpcHNlY0VuY3J5cHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogSVBzZWMgaW50ZWdyaXR5IGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIlNIQTI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzE5MlwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpcHNlY0ludGVncml0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQRlMgR3JvdXAgZm9yIElLRSBQaGFzZSAyXG4gICAqIEBleGFtcGxlIFwiTm9uZVwiLCBcIlBGUzFcIiwgXCJQRlMyXCIsIFwiUEZTMjA0OFwiLCBcIkVDUDI1NlwiLCBcIkVDUDM4NFwiLCBcIlBGUzI0XCIsIFwiUEZTMTRcIiwgXCJQRlNNTVwiXG4gICAqL1xuICByZWFkb25seSBwZnNHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTQSBsaWZldGltZSBpbiBzZWNvbmRzXG4gICAqIEBleGFtcGxlIDM2MDBcbiAgICovXG4gIHJlYWRvbmx5IHNhTGlmZVRpbWVTZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNBIGRhdGEgc2l6ZSBpbiBraWxvYnl0ZXNcbiAgICogQGV4YW1wbGUgMTAyNDAwMDAwXG4gICAqL1xuICByZWFkb25seSBzYURhdGFTaXplS2lsb2J5dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogTkFUIHJ1bGUgcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmF0UnVsZVJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgTkFUIHJ1bGVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25cbiAqXG4gKiBTdXBwb3J0cyB0aHJlZSBjb25uZWN0aW9uIHR5cGVzOiBJUHNlYyAoU2l0ZS10by1TaXRlKSwgVk5ldC10by1WTmV0LCBhbmQgRXhwcmVzc1JvdXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvblByb3BzXG4gIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIENvbm5lY3Rpb24gdHlwZVxuICAgKiBNdXN0IGJlIFwiSVBzZWNcIiwgXCJWbmV0MlZuZXRcIiwgb3IgXCJFeHByZXNzUm91dGVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblR5cGU6IFwiSVBzZWNcIiB8IFwiVm5ldDJWbmV0XCIgfCBcIkV4cHJlc3NSb3V0ZVwiO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBncm91cCBJRCB3aGVyZSB0aGUgY29ubmVjdGlvbiB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGZpcnN0IHZpcnR1YWwgbmV0d29yayBnYXRld2F5XG4gICAqIFJlcXVpcmVkIGZvciBhbGwgY29ubmVjdGlvbiB0eXBlc1xuICAgKi9cbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcmtHYXRld2F5MTogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBsb2NhbCBuZXR3b3JrIGdhdGV3YXlcbiAgICogUmVxdWlyZWQgZm9yIElQc2VjIGNvbm5lY3Rpb25zIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IGxvY2FsTmV0d29ya0dhdGV3YXkyPzogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBzZWNvbmQgdmlydHVhbCBuZXR3b3JrIGdhdGV3YXlcbiAgICogUmVxdWlyZWQgZm9yIFZuZXQyVm5ldCBjb25uZWN0aW9ucyBvbmx5XG4gICAqL1xuICByZWFkb25seSB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyPzogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBFeHByZXNzUm91dGUgY2lyY3VpdFxuICAgKiBSZXF1aXJlZCBmb3IgRXhwcmVzc1JvdXRlIGNvbm5lY3Rpb25zIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IHBlZXI/OiBQZWVyUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBTaGFyZWQga2V5IGZvciB0aGUgY29ubmVjdGlvblxuICAgKiBSZXF1aXJlZCBmb3IgSVBzZWMgYW5kIFZuZXQyVm5ldCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmVkS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRob3JpemF0aW9uIGtleSBmb3IgdGhlIEV4cHJlc3NSb3V0ZSBjaXJjdWl0XG4gICAqIE9wdGlvbmFsIC0gZm9yIGNyb3NzLXN1YnNjcmlwdGlvbiBFeHByZXNzUm91dGUgY29ubmVjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25LZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbm5lY3Rpb24gcHJvdG9jb2wgdG8gdXNlXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJJS0V2MlwiXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uUHJvdG9jb2w/OiBcIklLRXYyXCIgfCBcIklLRXYxXCI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBCR1AgZm9yIHRoZSBjb25uZWN0aW9uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUJncD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJvdXRpbmcgd2VpZ2h0IGZvciB0aGUgY29ubmVjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGluZ1dlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogRFBEIHRpbWVvdXQgaW4gc2Vjb25kc1xuICAgKi9cbiAgcmVhZG9ubHkgZHBkVGltZW91dFNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBJUHNlYyBwb2xpY2llc1xuICAgKi9cbiAgcmVhZG9ubHkgaXBzZWNQb2xpY2llcz86IElwc2VjUG9saWN5W107XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBwb2xpY3ktYmFzZWQgdHJhZmZpYyBzZWxlY3RvcnNcbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29ubmVjdGlvbiBtb2RlXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJEZWZhdWx0XCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Nb2RlPzogXCJEZWZhdWx0XCIgfCBcIlJlc3BvbmRlck9ubHlcIiB8IFwiSW5pdGlhdG9yT25seVwiO1xuXG4gIC8qKlxuICAgKiBFZ3Jlc3MgTkFUIHJ1bGVzXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NOYXRSdWxlcz86IE5hdFJ1bGVSZWZlcmVuY2VbXTtcblxuICAvKipcbiAgICogSW5ncmVzcyBOQVQgcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IGluZ3Jlc3NOYXRSdWxlcz86IE5hdFJ1bGVSZWZlcmVuY2VbXTtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBpbXBsZW1lbnRhdGlvblxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBzaW5nbGUsIHZlcnNpb24tYXdhcmUgaW1wbGVtZW50YXRpb24gdGhhdCByZXBsYWNlc1xuICogdmVyc2lvbi1zcGVjaWZpYyBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIGNsYXNzZXMuIEl0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nXG4gKiBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKlxuICogVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbnMgZXN0YWJsaXNoIGNvbm5lY3Rpdml0eSBiZXR3ZWVuIFZpcnR1YWwgTmV0d29yayBHYXRld2F5c1xuICogYW5kIG90aGVyIG5ldHdvcmtpbmcgZW5kcG9pbnRzOlxuICogLSBJUHNlYzogU2l0ZS10by1TaXRlIFZQTiBjb25uZWN0aW9ucyB0byBvbi1wcmVtaXNlcyBuZXR3b3Jrc1xuICogLSBWbmV0MlZuZXQ6IFZOZXQtdG8tVk5ldCBjb25uZWN0aW9ucyBiZXR3ZWVuIEF6dXJlIHZpcnR1YWwgbmV0d29ya3NcbiAqIC0gRXhwcmVzc1JvdXRlOiBQcml2YXRlIGNvbm5lY3Rpb25zIHRvIEF6dXJlIHZpYSBFeHByZXNzUm91dGUgY2lyY3VpdHNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSVBzZWMgKFNpdGUtdG8tU2l0ZSBWUE4pIENvbm5lY3Rpb246XG4gKiBjb25zdCBzMnNDb25uZWN0aW9uID0gbmV3IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24odGhpcywgXCJzMnNDb25uZWN0aW9uXCIsIHtcbiAqICAgbmFtZTogXCJteS1zMnMtY29ubmVjdGlvblwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBjb25uZWN0aW9uVHlwZTogXCJJUHNlY1wiLFxuICogICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7IGlkOiB2cG5HYXRld2F5LmlkIH0sXG4gKiAgIGxvY2FsTmV0d29ya0dhdGV3YXkyOiB7IGlkOiBsb2NhbEdhdGV3YXkuaWQgfSxcbiAqICAgc2hhcmVkS2V5OiBcIm15U2VjdXJlU2hhcmVkS2V5MTIzIVwiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVk5ldC10by1WTmV0IENvbm5lY3Rpb246XG4gKiBjb25zdCB2bmV0Q29ubmVjdGlvbiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uKHRoaXMsIFwidm5ldENvbm5lY3Rpb25cIiwge1xuICogICBuYW1lOiBcIm15LXZuZXQtY29ubmVjdGlvblwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBjb25uZWN0aW9uVHlwZTogXCJWbmV0MlZuZXRcIixcbiAqICAgdmlydHVhbE5ldHdvcmtHYXRld2F5MTogeyBpZDogdnBuR2F0ZXdheTEuaWQgfSxcbiAqICAgdmlydHVhbE5ldHdvcmtHYXRld2F5MjogeyBpZDogdnBuR2F0ZXdheTIuaWQgfSxcbiAqICAgc2hhcmVkS2V5OiBcIm15U2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICogICBlbmFibGVCZ3A6IHRydWVcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFeHByZXNzUm91dGUgQ29ubmVjdGlvbjpcbiAqIGNvbnN0IGVyQ29ubmVjdGlvbiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uKHRoaXMsIFwiZXJDb25uZWN0aW9uXCIsIHtcbiAqICAgbmFtZTogXCJteS1lci1jb25uZWN0aW9uXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGNvbm5lY3Rpb25UeXBlOiBcIkV4cHJlc3NSb3V0ZVwiLFxuICogICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7IGlkOiBlckdhdGV3YXkuaWQgfSxcbiAqICAgcGVlcjogeyBpZDogZXhwcmVzc1JvdXRlQ2lyY3VpdC5pZCB9LFxuICogICBhdXRob3JpemF0aW9uS2V5OiBcIm9wdGlvbmFsLWF1dGgta2V5LWlmLWNyb3NzLXN1YnNjcmlwdGlvblwiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSVBzZWMgQ29ubmVjdGlvbiB3aXRoIEN1c3RvbSBJUHNlYyBQb2xpY2llczpcbiAqIGNvbnN0IGN1c3RvbUNvbm5lY3Rpb24gPSBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcImN1c3RvbUNvbm5lY3Rpb25cIiwge1xuICogICBuYW1lOiBcIm15LWN1c3RvbS1jb25uZWN0aW9uXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGNvbm5lY3Rpb25UeXBlOiBcIklQc2VjXCIsXG4gKiAgIHZpcnR1YWxOZXR3b3JrR2F0ZXdheTE6IHsgaWQ6IHZwbkdhdGV3YXkuaWQgfSxcbiAqICAgbG9jYWxOZXR3b3JrR2F0ZXdheTI6IHsgaWQ6IGxvY2FsR2F0ZXdheS5pZCB9LFxuICogICBzaGFyZWRLZXk6IFwibXlTZWN1cmVTaGFyZWRLZXkxMjMhXCIsXG4gKiAgIGNvbm5lY3Rpb25Qcm90b2NvbDogXCJJS0V2MlwiLFxuICogICBpcHNlY1BvbGljaWVzOiBbe1xuICogICAgIGRoR3JvdXA6IFwiREhHcm91cDE0XCIsXG4gKiAgICAgaWtlRW5jcnlwdGlvbjogXCJBRVMyNTZcIixcbiAqICAgICBpa2VJbnRlZ3JpdHk6IFwiU0hBMjU2XCIsXG4gKiAgICAgaXBzZWNFbmNyeXB0aW9uOiBcIkFFUzI1NlwiLFxuICogICAgIGlwc2VjSW50ZWdyaXR5OiBcIlNIQTI1NlwiLFxuICogICAgIHBmc0dyb3VwOiBcIlBGUzIwNDhcIixcbiAqICAgICBzYUxpZmVUaW1lU2Vjb25kczogMzYwMCxcbiAqICAgICBzYURhdGFTaXplS2lsb2J5dGVzOiAxMDI0MDAwMDBcbiAqICAgfV0sXG4gKiAgIHVzZVBvbGljeUJhc2VkVHJhZmZpY1NlbGVjdG9yczogdHJ1ZVxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIFZJUlRVQUxfTkVUV09SS19HQVRFV0FZX0NPTk5FQ1RJT05fVFlQRSxcbiAgICAgIEFMTF9WSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi4gSXQgbWFpbnRhaW5zIGZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgKiB3aXRoIGV4aXN0aW5nIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb24gaW1wbGVtZW50YXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb25Qcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBBZGQgdGltZW91dHMgZm9yIGNvbm5lY3Rpb24gcHJvdmlzaW9uaW5nICh0eXBpY2FsbHkgMzAgbWludXRlcylcbiAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwidGltZW91dHNcIiwge1xuICAgICAgY3JlYXRlOiBcIjMwbVwiLFxuICAgICAgdXBkYXRlOiBcIjMwbVwiLFxuICAgICAgZGVsZXRlOiBcIjMwbVwiLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhZ3NPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwidGFnc1wiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS50YWdzfWAsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJUaGUgdGFncyBhc3NpZ25lZCB0byB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblwiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggb3JpZ2luYWwgbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLmxvY2F0aW9uT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibG9jYXRpb25cIik7XG4gICAgdGhpcy50YWdzT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwidGFnc1wiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIFZlcnNpb25lZEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlY2VudCBzdGFibGUgdmVyc2lvbiBhcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyNC0wNS0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFZJUlRVQUxfTkVUV09SS19HQVRFV0FZX0NPTk5FQ1RJT05fVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBsb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCByZXF1aXJlc0xvY2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGludG8gdGhlIEpTT04gZm9ybWF0IGV4cGVjdGVkIGJ5IEF6dXJlIFJFU1QgQVBJXG4gICAqIEhhbmRsZXMgdHlwZS1zcGVjaWZpYyBwcm9wZXJ0aWVzIGJhc2VkIG9uIGNvbm5lY3Rpb25UeXBlXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uUHJvcHM7XG5cbiAgICAvLyBCdWlsZCB0aGUgcHJvcGVydGllcyBvYmplY3QgYmFzZWQgb24gY29ubmVjdGlvbiB0eXBlXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge1xuICAgICAgY29ubmVjdGlvblR5cGU6IHR5cGVkUHJvcHMuY29ubmVjdGlvblR5cGUsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiB0eXBlZFByb3BzLnZpcnR1YWxOZXR3b3JrR2F0ZXdheTEuaWQsXG4gICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgfSxcbiAgICAgIGNvbm5lY3Rpb25Qcm90b2NvbDogdHlwZWRQcm9wcy5jb25uZWN0aW9uUHJvdG9jb2wgfHwgXCJJS0V2MlwiLFxuICAgICAgZW5hYmxlQmdwOiB0eXBlZFByb3BzLmVuYWJsZUJncCB8fCBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gQWRkIG9wdGlvbmFsIGNvbW1vbiBwcm9wZXJ0aWVzXG4gICAgaWYgKHR5cGVkUHJvcHMucm91dGluZ1dlaWdodCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcm9wZXJ0aWVzLnJvdXRpbmdXZWlnaHQgPSB0eXBlZFByb3BzLnJvdXRpbmdXZWlnaHQ7XG4gICAgfVxuICAgIGlmICh0eXBlZFByb3BzLmRwZFRpbWVvdXRTZWNvbmRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuZHBkVGltZW91dFNlY29uZHMgPSB0eXBlZFByb3BzLmRwZFRpbWVvdXRTZWNvbmRzO1xuICAgIH1cbiAgICBpZiAodHlwZWRQcm9wcy5pcHNlY1BvbGljaWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuaXBzZWNQb2xpY2llcyA9IHR5cGVkUHJvcHMuaXBzZWNQb2xpY2llcztcbiAgICB9XG4gICAgaWYgKHR5cGVkUHJvcHMudXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMudXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzID1cbiAgICAgICAgdHlwZWRQcm9wcy51c2VQb2xpY3lCYXNlZFRyYWZmaWNTZWxlY3RvcnM7XG4gICAgfVxuICAgIGlmICh0eXBlZFByb3BzLmNvbm5lY3Rpb25Nb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuY29ubmVjdGlvbk1vZGUgPSB0eXBlZFByb3BzLmNvbm5lY3Rpb25Nb2RlO1xuICAgIH1cbiAgICBpZiAodHlwZWRQcm9wcy5lZ3Jlc3NOYXRSdWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcm9wZXJ0aWVzLmVncmVzc05hdFJ1bGVzID0gdHlwZWRQcm9wcy5lZ3Jlc3NOYXRSdWxlcztcbiAgICB9XG4gICAgaWYgKHR5cGVkUHJvcHMuaW5ncmVzc05hdFJ1bGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuaW5ncmVzc05hdFJ1bGVzID0gdHlwZWRQcm9wcy5pbmdyZXNzTmF0UnVsZXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIGNvbm5lY3Rpb24gdHlwZS1zcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgc3dpdGNoICh0eXBlZFByb3BzLmNvbm5lY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlIFwiSVBzZWNcIjpcbiAgICAgICAgcHJvcGVydGllcy5sb2NhbE5ldHdvcmtHYXRld2F5MiA9IHtcbiAgICAgICAgICBpZDogdHlwZWRQcm9wcy5sb2NhbE5ldHdvcmtHYXRld2F5MiEuaWQsXG4gICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnRpZXMuc2hhcmVkS2V5ID0gdHlwZWRQcm9wcy5zaGFyZWRLZXk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiVm5ldDJWbmV0XCI6XG4gICAgICAgIHByb3BlcnRpZXMudmlydHVhbE5ldHdvcmtHYXRld2F5MiA9IHtcbiAgICAgICAgICBpZDogdHlwZWRQcm9wcy52aXJ0dWFsTmV0d29ya0dhdGV3YXkyIS5pZCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydGllcy5zaGFyZWRLZXkgPSB0eXBlZFByb3BzLnNoYXJlZEtleTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgXCJFeHByZXNzUm91dGVcIjpcbiAgICAgICAgcHJvcGVydGllcy5wZWVyID0gdHlwZWRQcm9wcy5wZWVyO1xuICAgICAgICBpZiAodHlwZWRQcm9wcy5hdXRob3JpemF0aW9uS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wZXJ0aWVzLmF1dGhvcml6YXRpb25LZXkgPSB0eXBlZFByb3BzLmF1dGhvcml6YXRpb25LZXk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2F0aW9uOiB0aGlzLmxvY2F0aW9uLFxuICAgICAgdGFnczogdGhpcy5hbGxUYWdzKCksXG4gICAgICBwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLFxuICAgIH07XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQVUJMSUMgTUVUSE9EUyBGT1IgVklSVFVBTCBORVRXT1JLIEdBVEVXQVkgQ09OTkVDVElPTiBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3Vic2NyaXB0aW9uIElEIGZyb20gdGhlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb24gSURcbiAgICogRXh0cmFjdHMgdGhlIHN1YnNjcmlwdGlvbiBJRCBmcm9tIHRoZSBBenVyZSByZXNvdXJjZSBJRCBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBnZXQgc3Vic2NyaXB0aW9uSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBpZFBhcnRzID0gdGhpcy5pZC5zcGxpdChcIi9cIik7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uSW5kZXggPSBpZFBhcnRzLmluZGV4T2YoXCJzdWJzY3JpcHRpb25zXCIpO1xuICAgIGlmIChzdWJzY3JpcHRpb25JbmRleCAhPT0gLTEgJiYgc3Vic2NyaXB0aW9uSW5kZXggKyAxIDwgaWRQYXJ0cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBpZFBhcnRzW3N1YnNjcmlwdGlvbkluZGV4ICsgMV07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiVW5hYmxlIHRvIGV4dHJhY3Qgc3Vic2NyaXB0aW9uIElEIGZyb20gVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBJRFwiLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmdWxsIHJlc291cmNlIGlkZW50aWZpZXIgZm9yIHVzZSBpbiBvdGhlciBBenVyZSByZXNvdXJjZXNcbiAgICogQWxpYXMgZm9yIHRoZSBpZCBwcm9wZXJ0eSB0byBtYXRjaCBvcmlnaW5hbCBpbnRlcmZhY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhZyB0byB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblxuICAgKiBOb3RlOiBUaGlzIG1vZGlmaWVzIHRoZSBjb25zdHJ1Y3QgcHJvcHMgYnV0IHJlcXVpcmVzIGEgbmV3IGRlcGxveW1lbnQgdG8gdGFrZSBlZmZlY3RcbiAgICovXG4gIHB1YmxpYyBhZGRUYWcoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMudGFncykge1xuICAgICAgKHRoaXMucHJvcHMgYXMgYW55KS50YWdzID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvcHMudGFncyFba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHRhZyBmcm9tIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXG4gICAqIE5vdGU6IFRoaXMgbW9kaWZpZXMgdGhlIGNvbnN0cnVjdCBwcm9wcyBidXQgcmVxdWlyZXMgYSBuZXcgZGVwbG95bWVudCB0byB0YWtlIGVmZmVjdFxuICAgKi9cbiAgcHVibGljIHJlbW92ZVRhZyhrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRhZ3MgJiYgdGhpcy5wcm9wcy50YWdzW2tleV0pIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnByb3BzLnRhZ3Nba2V5XTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uL2xpYi92aXJ0dWFsLW5ldHdvcmstZ2F0ZXdheS1jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILCtCQUErQjtBQUUvQiw2R0FHc0Q7QUFDdEQsOEVBR21EO0FBbU1uRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFRztBQUNILE1BQWEsK0JBQWdDLFNBQVEsOEJBQWE7SUFtQmhFOzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUEyQztRQUUzQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDN0MsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLGtEQUFrRDtTQUNoRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lB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QzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBelBILDBFQTBQQzs7O0FBelBDO0lBQ0UsOEJBQWEsQ0FBQyxlQUFlLENBQzNCLG9GQUF1QyxFQUN2Qyw0RkFBK0MsQ0FDaEQsQ0FBQztBQUNKLENBQUMsR0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIEF6dXJlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25zIHRoYXRcbiAqIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHlcbiAqIHRyYW5zZm9ybWF0aW9uIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTAxLTAxIChBY3RpdmUpXG4gKiAtIDIwMjQtMDUtMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIFR5cGUtc2FmZSBjb25uZWN0aW9uIHR5cGUgaGFuZGxpbmcgdXNpbmcgZGlzY3JpbWluYXRlZCB1bmlvbnNcbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9WSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1ZFUlNJT05TLFxuICBWSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1RZUEUsXG59IGZyb20gXCIuL3ZpcnR1YWwtbmV0d29yay1nYXRld2F5LWNvbm5lY3Rpb24tc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdhdGV3YXlSZWZlcmVuY2Uge1xuICAvKipcbiAgICogUmVzb3VyY2UgSUQgb2YgdGhlIHZpcnR1YWwgbmV0d29yayBnYXRld2F5XG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSB0byBhbiBFeHByZXNzUm91dGUgY2lyY3VpdCBwZWVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGVlclJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgRXhwcmVzc1JvdXRlIGNpcmN1aXRcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSVBzZWMgcG9saWN5IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcHNlY1BvbGljeSB7XG4gIC8qKlxuICAgKiBESCBHcm91cCBmb3IgSUtFIFBoYXNlIDFcbiAgICogQGV4YW1wbGUgXCJESEdyb3VwMTRcIiwgXCJESEdyb3VwMjA0OFwiLCBcIkVDUDI1NlwiLCBcIkVDUDM4NFwiXG4gICAqL1xuICByZWFkb25seSBkaEdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElLRSBlbmNyeXB0aW9uIGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIkFFUzEyOFwiLCBcIkFFUzE5MlwiLCBcIkFFUzI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpa2VFbmNyeXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElLRSBpbnRlZ3JpdHkgYWxnb3JpdGhtXG4gICAqIEBleGFtcGxlIFwiU0hBMjU2XCIsIFwiU0hBMzg0XCIsIFwiR0NNQUVTMTI4XCIsIFwiR0NNQUVTMjU2XCJcbiAgICovXG4gIHJlYWRvbmx5IGlrZUludGVncml0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHNlYyBlbmNyeXB0aW9uIGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIkFFUzEyOFwiLCBcIkFFUzE5MlwiLCBcIkFFUzI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzE5MlwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpcHNlY0VuY3J5cHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogSVBzZWMgaW50ZWdyaXR5IGFsZ29yaXRobVxuICAgKiBAZXhhbXBsZSBcIlNIQTI1NlwiLCBcIkdDTUFFUzEyOFwiLCBcIkdDTUFFUzE5MlwiLCBcIkdDTUFFUzI1NlwiXG4gICAqL1xuICByZWFkb25seSBpcHNlY0ludGVncml0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQRlMgR3JvdXAgZm9yIElLRSBQaGFzZSAyXG4gICAqIEBleGFtcGxlIFwiTm9uZVwiLCBcIlBGUzFcIiwgXCJQRlMyXCIsIFwiUEZTMjA0OFwiLCBcIkVDUDI1NlwiLCBcIkVDUDM4NFwiLCBcIlBGUzI0XCIsIFwiUEZTMTRcIiwgXCJQRlNNTVwiXG4gICAqL1xuICByZWFkb25seSBwZnNHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTQSBsaWZldGltZSBpbiBzZWNvbmRzXG4gICAqIEBleGFtcGxlIDM2MDBcbiAgICovXG4gIHJlYWRvbmx5IHNhTGlmZVRpbWVTZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNBIGRhdGEgc2l6ZSBpbiBraWxvYnl0ZXNcbiAgICogQGV4YW1wbGUgMTAyNDAwMDAwXG4gICAqL1xuICByZWFkb25seSBzYURhdGFTaXplS2lsb2J5dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogTkFUIHJ1bGUgcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmF0UnVsZVJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgTkFUIHJ1bGVcbiAgICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25cbiAqXG4gKiBTdXBwb3J0cyB0aHJlZSBjb25uZWN0aW9uIHR5cGVzOiBJUHNlYyAoU2l0ZS10by1TaXRlKSwgVk5ldC10by1WTmV0LCBhbmQgRXhwcmVzc1JvdXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvblByb3BzIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIENvbm5lY3Rpb24gdHlwZVxuICAgKiBNdXN0IGJlIFwiSVBzZWNcIiwgXCJWbmV0MlZuZXRcIiwgb3IgXCJFeHByZXNzUm91dGVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblR5cGU6IFwiSVBzZWNcIiB8IFwiVm5ldDJWbmV0XCIgfCBcIkV4cHJlc3NSb3V0ZVwiO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBncm91cCBJRCB3aGVyZSB0aGUgY29ubmVjdGlvbiB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGZpcnN0IHZpcnR1YWwgbmV0d29yayBnYXRld2F5XG4gICAqIFJlcXVpcmVkIGZvciBhbGwgY29ubmVjdGlvbiB0eXBlc1xuICAgKi9cbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcmtHYXRld2F5MTogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBsb2NhbCBuZXR3b3JrIGdhdGV3YXlcbiAgICogUmVxdWlyZWQgZm9yIElQc2VjIGNvbm5lY3Rpb25zIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IGxvY2FsTmV0d29ya0dhdGV3YXkyPzogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBzZWNvbmQgdmlydHVhbCBuZXR3b3JrIGdhdGV3YXlcbiAgICogUmVxdWlyZWQgZm9yIFZuZXQyVm5ldCBjb25uZWN0aW9ucyBvbmx5XG4gICAqL1xuICByZWFkb25seSB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyPzogR2F0ZXdheVJlZmVyZW5jZTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBFeHByZXNzUm91dGUgY2lyY3VpdFxuICAgKiBSZXF1aXJlZCBmb3IgRXhwcmVzc1JvdXRlIGNvbm5lY3Rpb25zIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IHBlZXI/OiBQZWVyUmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBTaGFyZWQga2V5IGZvciB0aGUgY29ubmVjdGlvblxuICAgKiBSZXF1aXJlZCBmb3IgSVBzZWMgYW5kIFZuZXQyVm5ldCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmVkS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRob3JpemF0aW9uIGtleSBmb3IgdGhlIEV4cHJlc3NSb3V0ZSBjaXJjdWl0XG4gICAqIE9wdGlvbmFsIC0gZm9yIGNyb3NzLXN1YnNjcmlwdGlvbiBFeHByZXNzUm91dGUgY29ubmVjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25LZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbm5lY3Rpb24gcHJvdG9jb2wgdG8gdXNlXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJJS0V2MlwiXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uUHJvdG9jb2w/OiBcIklLRXYyXCIgfCBcIklLRXYxXCI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBCR1AgZm9yIHRoZSBjb25uZWN0aW9uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUJncD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJvdXRpbmcgd2VpZ2h0IGZvciB0aGUgY29ubmVjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGluZ1dlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogRFBEIHRpbWVvdXQgaW4gc2Vjb25kc1xuICAgKi9cbiAgcmVhZG9ubHkgZHBkVGltZW91dFNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBJUHNlYyBwb2xpY2llc1xuICAgKi9cbiAgcmVhZG9ubHkgaXBzZWNQb2xpY2llcz86IElwc2VjUG9saWN5W107XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBwb2xpY3ktYmFzZWQgdHJhZmZpYyBzZWxlY3RvcnNcbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29ubmVjdGlvbiBtb2RlXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJEZWZhdWx0XCJcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25Nb2RlPzogXCJEZWZhdWx0XCIgfCBcIlJlc3BvbmRlck9ubHlcIiB8IFwiSW5pdGlhdG9yT25seVwiO1xuXG4gIC8qKlxuICAgKiBFZ3Jlc3MgTkFUIHJ1bGVzXG4gICAqL1xuICByZWFkb25seSBlZ3Jlc3NOYXRSdWxlcz86IE5hdFJ1bGVSZWZlcmVuY2VbXTtcblxuICAvKipcbiAgICogSW5ncmVzcyBOQVQgcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IGluZ3Jlc3NOYXRSdWxlcz86IE5hdFJ1bGVSZWZlcmVuY2VbXTtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBpbXBsZW1lbnRhdGlvblxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBzaW5nbGUsIHZlcnNpb24tYXdhcmUgaW1wbGVtZW50YXRpb24gdGhhdCByZXBsYWNlc1xuICogdmVyc2lvbi1zcGVjaWZpYyBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIGNsYXNzZXMuIEl0IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uXG4gKiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uIHdoaWxlIG1haW50YWluaW5nXG4gKiBmdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKlxuICogVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbnMgZXN0YWJsaXNoIGNvbm5lY3Rpdml0eSBiZXR3ZWVuIFZpcnR1YWwgTmV0d29yayBHYXRld2F5c1xuICogYW5kIG90aGVyIG5ldHdvcmtpbmcgZW5kcG9pbnRzOlxuICogLSBJUHNlYzogU2l0ZS10by1TaXRlIFZQTiBjb25uZWN0aW9ucyB0byBvbi1wcmVtaXNlcyBuZXR3b3Jrc1xuICogLSBWbmV0MlZuZXQ6IFZOZXQtdG8tVk5ldCBjb25uZWN0aW9ucyBiZXR3ZWVuIEF6dXJlIHZpcnR1YWwgbmV0d29ya3NcbiAqIC0gRXhwcmVzc1JvdXRlOiBQcml2YXRlIGNvbm5lY3Rpb25zIHRvIEF6dXJlIHZpYSBFeHByZXNzUm91dGUgY2lyY3VpdHNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSVBzZWMgKFNpdGUtdG8tU2l0ZSBWUE4pIENvbm5lY3Rpb246XG4gKiBjb25zdCBzMnNDb25uZWN0aW9uID0gbmV3IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24odGhpcywgXCJzMnNDb25uZWN0aW9uXCIsIHtcbiAqICAgbmFtZTogXCJteS1zMnMtY29ubmVjdGlvblwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBjb25uZWN0aW9uVHlwZTogXCJJUHNlY1wiLFxuICogICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7IGlkOiB2cG5HYXRld2F5LmlkIH0sXG4gKiAgIGxvY2FsTmV0d29ya0dhdGV3YXkyOiB7IGlkOiBsb2NhbEdhdGV3YXkuaWQgfSxcbiAqICAgc2hhcmVkS2V5OiBcIm15U2VjdXJlU2hhcmVkS2V5MTIzIVwiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVk5ldC10by1WTmV0IENvbm5lY3Rpb246XG4gKiBjb25zdCB2bmV0Q29ubmVjdGlvbiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uKHRoaXMsIFwidm5ldENvbm5lY3Rpb25cIiwge1xuICogICBuYW1lOiBcIm15LXZuZXQtY29ubmVjdGlvblwiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBjb25uZWN0aW9uVHlwZTogXCJWbmV0MlZuZXRcIixcbiAqICAgdmlydHVhbE5ldHdvcmtHYXRld2F5MTogeyBpZDogdnBuR2F0ZXdheTEuaWQgfSxcbiAqICAgdmlydHVhbE5ldHdvcmtHYXRld2F5MjogeyBpZDogdnBuR2F0ZXdheTIuaWQgfSxcbiAqICAgc2hhcmVkS2V5OiBcIm15U2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICogICBlbmFibGVCZ3A6IHRydWVcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFeHByZXNzUm91dGUgQ29ubmVjdGlvbjpcbiAqIGNvbnN0IGVyQ29ubmVjdGlvbiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uKHRoaXMsIFwiZXJDb25uZWN0aW9uXCIsIHtcbiAqICAgbmFtZTogXCJteS1lci1jb25uZWN0aW9uXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGNvbm5lY3Rpb25UeXBlOiBcIkV4cHJlc3NSb3V0ZVwiLFxuICogICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7IGlkOiBlckdhdGV3YXkuaWQgfSxcbiAqICAgcGVlcjogeyBpZDogZXhwcmVzc1JvdXRlQ2lyY3VpdC5pZCB9LFxuICogICBhdXRob3JpemF0aW9uS2V5OiBcIm9wdGlvbmFsLWF1dGgta2V5LWlmLWNyb3NzLXN1YnNjcmlwdGlvblwiXG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSVBzZWMgQ29ubmVjdGlvbiB3aXRoIEN1c3RvbSBJUHNlYyBQb2xpY2llczpcbiAqIGNvbnN0IGN1c3RvbUNvbm5lY3Rpb24gPSBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcImN1c3RvbUNvbm5lY3Rpb25cIiwge1xuICogICBuYW1lOiBcIm15LWN1c3RvbS1jb25uZWN0aW9uXCIsXG4gKiAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICogICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gKiAgIGNvbm5lY3Rpb25UeXBlOiBcIklQc2VjXCIsXG4gKiAgIHZpcnR1YWxOZXR3b3JrR2F0ZXdheTE6IHsgaWQ6IHZwbkdhdGV3YXkuaWQgfSxcbiAqICAgbG9jYWxOZXR3b3JrR2F0ZXdheTI6IHsgaWQ6IGxvY2FsR2F0ZXdheS5pZCB9LFxuICogICBzaGFyZWRLZXk6IFwibXlTZWN1cmVTaGFyZWRLZXkxMjMhXCIsXG4gKiAgIGNvbm5lY3Rpb25Qcm90b2NvbDogXCJJS0V2MlwiLFxuICogICBpcHNlY1BvbGljaWVzOiBbe1xuICogICAgIGRoR3JvdXA6IFwiREhHcm91cDE0XCIsXG4gKiAgICAgaWtlRW5jcnlwdGlvbjogXCJBRVMyNTZcIixcbiAqICAgICBpa2VJbnRlZ3JpdHk6IFwiU0hBMjU2XCIsXG4gKiAgICAgaXBzZWNFbmNyeXB0aW9uOiBcIkFFUzI1NlwiLFxuICogICAgIGlwc2VjSW50ZWdyaXR5OiBcIlNIQTI1NlwiLFxuICogICAgIHBmc0dyb3VwOiBcIlBGUzIwNDhcIixcbiAqICAgICBzYUxpZmVUaW1lU2Vjb25kczogMzYwMCxcbiAqICAgICBzYURhdGFTaXplS2lsb2J5dGVzOiAxMDI0MDAwMDBcbiAqICAgfV0sXG4gKiAgIHVzZVBvbGljeUJhc2VkVHJhZmZpY1NlbGVjdG9yczogdHJ1ZVxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIFZJUlRVQUxfTkVUV09SS19HQVRFV0FZX0NPTk5FQ1RJT05fVFlQRSxcbiAgICAgIEFMTF9WSVJUVUFMX05FVFdPUktfR0FURVdBWV9DT05ORUNUSU9OX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RuLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2F0aW9uT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSB0YWdzT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogVGhlIGNvbnN0cnVjdG9yIGF1dG9tYXRpY2FsbHkgaGFuZGxlcyB2ZXJzaW9uIHJlc29sdXRpb24sIHNjaGVtYSByZWdpc3RyYXRpb24sXG4gICAqIHZhbGlkYXRpb24sIGFuZCByZXNvdXJjZSBjcmVhdGlvbi4gSXQgbWFpbnRhaW5zIGZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgKiB3aXRoIGV4aXN0aW5nIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb24gaW1wbGVtZW50YXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb25Qcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBBZGQgdGltZW91dHMgZm9yIGNvbm5lY3Rpb24gcHJvdmlzaW9uaW5nICh0eXBpY2FsbHkgMzAgbWludXRlcylcbiAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwidGltZW91dHNcIiwge1xuICAgICAgY3JlYXRlOiBcIjMwbVwiLFxuICAgICAgdXBkYXRlOiBcIjMwbVwiLFxuICAgICAgZGVsZXRlOiBcIjMwbVwiLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJsb2NhdGlvblwiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5sb2NhdGlvbn1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGxvY2F0aW9uIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhZ3NPdXRwdXQgPSBuZXcgY2RrdG4uVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwidGFnc1wiLCB7XG4gICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS50YWdzfWAsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJUaGUgdGFncyBhc3NpZ25lZCB0byB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblwiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggb3JpZ2luYWwgbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLmxvY2F0aW9uT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibG9jYXRpb25cIik7XG4gICAgdGhpcy50YWdzT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwidGFnc1wiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIFZlcnNpb25lZEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBtb3N0IHJlY2VudCBzdGFibGUgdmVyc2lvbiBhcyB0aGUgZGVmYXVsdFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyNC0wNS0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFZJUlRVQUxfTkVUV09SS19HQVRFV0FZX0NPTk5FQ1RJT05fVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKiBVc2VzIHRoZSBmcmFtZXdvcmsncyBzY2hlbWEgcmVzb2x1dGlvbiB0byBnZXQgdGhlIGFwcHJvcHJpYXRlIHNjaGVtYVxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhhdCBsb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCByZXF1aXJlc0xvY2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKiBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGludG8gdGhlIEpTT04gZm9ybWF0IGV4cGVjdGVkIGJ5IEF6dXJlIFJFU1QgQVBJXG4gICAqIEhhbmRsZXMgdHlwZS1zcGVjaWZpYyBwcm9wZXJ0aWVzIGJhc2VkIG9uIGNvbm5lY3Rpb25UeXBlXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBWaXJ0dWFsTmV0d29ya0dhdGV3YXlDb25uZWN0aW9uUHJvcHM7XG5cbiAgICAvLyBCdWlsZCB0aGUgcHJvcGVydGllcyBvYmplY3QgYmFzZWQgb24gY29ubmVjdGlvbiB0eXBlXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge1xuICAgICAgY29ubmVjdGlvblR5cGU6IHR5cGVkUHJvcHMuY29ubmVjdGlvblR5cGUsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiB0eXBlZFByb3BzLnZpcnR1YWxOZXR3b3JrR2F0ZXdheTEuaWQsXG4gICAgICAgIHByb3BlcnRpZXM6IHt9LFxuICAgICAgfSxcbiAgICAgIGNvbm5lY3Rpb25Qcm90b2NvbDogdHlwZWRQcm9wcy5jb25uZWN0aW9uUHJvdG9jb2wgfHwgXCJJS0V2MlwiLFxuICAgICAgZW5hYmxlQmdwOiB0eXBlZFByb3BzLmVuYWJsZUJncCB8fCBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gQWRkIG9wdGlvbmFsIGNvbW1vbiBwcm9wZXJ0aWVzXG4gICAgaWYgKHR5cGVkUHJvcHMucm91dGluZ1dlaWdodCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcm9wZXJ0aWVzLnJvdXRpbmdXZWlnaHQgPSB0eXBlZFByb3BzLnJvdXRpbmdXZWlnaHQ7XG4gICAgfVxuICAgIGlmICh0eXBlZFByb3BzLmRwZFRpbWVvdXRTZWNvbmRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuZHBkVGltZW91dFNlY29uZHMgPSB0eXBlZFByb3BzLmRwZFRpbWVvdXRTZWNvbmRzO1xuICAgIH1cbiAgICBpZiAodHlwZWRQcm9wcy5pcHNlY1BvbGljaWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuaXBzZWNQb2xpY2llcyA9IHR5cGVkUHJvcHMuaXBzZWNQb2xpY2llcztcbiAgICB9XG4gICAgaWYgKHR5cGVkUHJvcHMudXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMudXNlUG9saWN5QmFzZWRUcmFmZmljU2VsZWN0b3JzID1cbiAgICAgICAgdHlwZWRQcm9wcy51c2VQb2xpY3lCYXNlZFRyYWZmaWNTZWxlY3RvcnM7XG4gICAgfVxuICAgIGlmICh0eXBlZFByb3BzLmNvbm5lY3Rpb25Nb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuY29ubmVjdGlvbk1vZGUgPSB0eXBlZFByb3BzLmNvbm5lY3Rpb25Nb2RlO1xuICAgIH1cbiAgICBpZiAodHlwZWRQcm9wcy5lZ3Jlc3NOYXRSdWxlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcm9wZXJ0aWVzLmVncmVzc05hdFJ1bGVzID0gdHlwZWRQcm9wcy5lZ3Jlc3NOYXRSdWxlcztcbiAgICB9XG4gICAgaWYgKHR5cGVkUHJvcHMuaW5ncmVzc05hdFJ1bGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHByb3BlcnRpZXMuaW5ncmVzc05hdFJ1bGVzID0gdHlwZWRQcm9wcy5pbmdyZXNzTmF0UnVsZXM7XG4gICAgfVxuXG4gICAgLy8gQWRkIGNvbm5lY3Rpb24gdHlwZS1zcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgc3dpdGNoICh0eXBlZFByb3BzLmNvbm5lY3Rpb25UeXBlKSB7XG4gICAgICBjYXNlIFwiSVBzZWNcIjpcbiAgICAgICAgcHJvcGVydGllcy5sb2NhbE5ldHdvcmtHYXRld2F5MiA9IHtcbiAgICAgICAgICBpZDogdHlwZWRQcm9wcy5sb2NhbE5ldHdvcmtHYXRld2F5MiEuaWQsXG4gICAgICAgICAgcHJvcGVydGllczoge30sXG4gICAgICAgIH07XG4gICAgICAgIHByb3BlcnRpZXMuc2hhcmVkS2V5ID0gdHlwZWRQcm9wcy5zaGFyZWRLZXk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiVm5ldDJWbmV0XCI6XG4gICAgICAgIHByb3BlcnRpZXMudmlydHVhbE5ldHdvcmtHYXRld2F5MiA9IHtcbiAgICAgICAgICBpZDogdHlwZWRQcm9wcy52aXJ0dWFsTmV0d29ya0dhdGV3YXkyIS5pZCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgcHJvcGVydGllcy5zaGFyZWRLZXkgPSB0eXBlZFByb3BzLnNoYXJlZEtleTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgXCJFeHByZXNzUm91dGVcIjpcbiAgICAgICAgcHJvcGVydGllcy5wZWVyID0gdHlwZWRQcm9wcy5wZWVyO1xuICAgICAgICBpZiAodHlwZWRQcm9wcy5hdXRob3JpemF0aW9uS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwcm9wZXJ0aWVzLmF1dGhvcml6YXRpb25LZXkgPSB0eXBlZFByb3BzLmF1dGhvcml6YXRpb25LZXk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2F0aW9uOiB0aGlzLmxvY2F0aW9uLFxuICAgICAgdGFnczogdGhpcy5hbGxUYWdzKCksXG4gICAgICBwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLFxuICAgIH07XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQVUJMSUMgTUVUSE9EUyBGT1IgVklSVFVBTCBORVRXT1JLIEdBVEVXQVkgQ09OTkVDVElPTiBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgc3Vic2NyaXB0aW9uIElEIGZyb20gdGhlIFZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb24gSURcbiAgICogRXh0cmFjdHMgdGhlIHN1YnNjcmlwdGlvbiBJRCBmcm9tIHRoZSBBenVyZSByZXNvdXJjZSBJRCBmb3JtYXRcbiAgICovXG4gIHB1YmxpYyBnZXQgc3Vic2NyaXB0aW9uSWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBpZFBhcnRzID0gdGhpcy5pZC5zcGxpdChcIi9cIik7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uSW5kZXggPSBpZFBhcnRzLmluZGV4T2YoXCJzdWJzY3JpcHRpb25zXCIpO1xuICAgIGlmIChzdWJzY3JpcHRpb25JbmRleCAhPT0gLTEgJiYgc3Vic2NyaXB0aW9uSW5kZXggKyAxIDwgaWRQYXJ0cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBpZFBhcnRzW3N1YnNjcmlwdGlvbkluZGV4ICsgMV07XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiVW5hYmxlIHRvIGV4dHJhY3Qgc3Vic2NyaXB0aW9uIElEIGZyb20gVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBJRFwiLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmdWxsIHJlc291cmNlIGlkZW50aWZpZXIgZm9yIHVzZSBpbiBvdGhlciBBenVyZSByZXNvdXJjZXNcbiAgICogQWxpYXMgZm9yIHRoZSBpZCBwcm9wZXJ0eSB0byBtYXRjaCBvcmlnaW5hbCBpbnRlcmZhY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHRhZyB0byB0aGUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblxuICAgKiBOb3RlOiBUaGlzIG1vZGlmaWVzIHRoZSBjb25zdHJ1Y3QgcHJvcHMgYnV0IHJlcXVpcmVzIGEgbmV3IGRlcGxveW1lbnQgdG8gdGFrZSBlZmZlY3RcbiAgICovXG4gIHB1YmxpYyBhZGRUYWcoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMudGFncykge1xuICAgICAgKHRoaXMucHJvcHMgYXMgYW55KS50YWdzID0ge307XG4gICAgfVxuICAgIHRoaXMucHJvcHMudGFncyFba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHRhZyBmcm9tIHRoZSBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uXG4gICAqIE5vdGU6IFRoaXMgbW9kaWZpZXMgdGhlIGNvbnN0cnVjdCBwcm9wcyBidXQgcmVxdWlyZXMgYSBuZXcgZGVwbG95bWVudCB0byB0YWtlIGVmZmVjdFxuICAgKi9cbiAgcHVibGljIHJlbW92ZVRhZyhrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRhZ3MgJiYgdGhpcy5wcm9wcy50YWdzW2tleV0pIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnByb3BzLnRhZ3Nba2V5XTtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* Run with: npm run integration:nostream
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
const
|
|
15
|
-
require("
|
|
14
|
+
const cdktn_1 = require("cdktn");
|
|
15
|
+
require("cdktn/lib/testing/adapters/jest");
|
|
16
16
|
const azure_publicipaddress_1 = require("../../azure-publicipaddress");
|
|
17
17
|
const azure_resourcegroup_1 = require("../../azure-resourcegroup");
|
|
18
18
|
const azure_subnet_1 = require("../../azure-subnet");
|
|
@@ -203,9 +203,9 @@ describe.skip("Virtual Network Gateway Connection Integration Test", () => {
|
|
|
203
203
|
// This test provisions two complete VPN gateways and tests VNet-to-VNet connections.
|
|
204
204
|
// SKIPPED BY DEFAULT: Run explicitly with: jest --testNamePattern="Virtual Network Gateway Connection"
|
|
205
205
|
it("should deploy gateways and connections, validate idempotency, and cleanup", () => {
|
|
206
|
-
const app =
|
|
206
|
+
const app = cdktn_1.Testing.app();
|
|
207
207
|
const stack = new VirtualNetworkGatewayConnectionExampleStack(app, "test-virtual-network-gateway-connection");
|
|
208
|
-
const synthesized =
|
|
208
|
+
const synthesized = cdktn_1.Testing.fullSynth(stack);
|
|
209
209
|
// This will:
|
|
210
210
|
// 1. Run terraform apply to deploy resources (2 gateways + 2 connections)
|
|
211
211
|
// 2. Run terraform plan to check idempotency (no changes expected)
|
|
@@ -213,4 +213,4 @@ describe.skip("Virtual Network Gateway Connection Integration Test", () => {
|
|
|
213
213
|
(0, testing_1.TerraformApplyCheckAndDestroy)(synthesized, { verifyCleanup: true });
|
|
214
214
|
}, 7200000); // 120 minutes timeout (2 hours) for dual gateway provisioning
|
|
215
215
|
});
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5pbnRlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uL3Rlc3QvdmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5pbnRlZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFFSCxpQ0FBZ0M7QUFFaEMsMkNBQXlDO0FBQ3pDLHVFQUE4RDtBQUM5RCxtRUFBMEQ7QUFDMUQscURBQTRDO0FBQzVDLHFFQUE0RDtBQUM1RCxtRkFBMEU7QUFDMUUsa0ZBQW9GO0FBQ3BGLDJDQUE2RTtBQUM3RSx5REFBNkQ7QUFDN0Qsa0dBQTRGO0FBRTVGLHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLDBCQUFlLENBQ3RDLGdEQUFnRCxFQUNoRDtJQUNFLFdBQVcsRUFBRSxDQUFDO0NBQ2YsQ0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSwyQ0FBNEMsU0FBUSx1QkFBYTtJQUNyRSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLGNBQWMsRUFBRTtnQkFDZCxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVztnQkFDckMsYUFBYSxFQUFFLFlBQVksQ0FBQyxhQUFhO2FBQzFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLElBQUksd0JBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLHdCQUF3QjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3RDLG9DQUFvQyxFQUNwQyxNQUFNLENBQ1AsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixNQUFNLGFBQWEsR0FBRyxJQUFJLG1DQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRTtnQkFDSixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDckI7U0FDRixDQUFDLENBQUM7UUFFSCxnREFBZ0Q7UUFDaEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxxQ0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDOUMsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixRQUFRLEVBQUUsUUFBUTtZQUNsQixlQUFlLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDakMsWUFBWSxFQUFFO2dCQUNaLGVBQWUsRUFBRSxDQUFDLGFBQWEsQ0FBQzthQUNqQztZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDckI7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3pELElBQUksRUFBRSxlQUFlO1lBQ3JCLGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4QyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUMxQixlQUFlLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDakMsYUFBYSxFQUFFLGFBQWE7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSx1Q0FBZSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDeEQsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixRQUFRLEVBQUUsUUFBUTtZQUNsQixlQUFlLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDakMsR0FBRyxFQUFFO2dCQUNILElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsVUFBVTthQUNqQjtZQUNELHdCQUF3QixFQUFFLFFBQVE7WUFDbEMsSUFBSSxFQUFFO2dCQUNKLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUksbURBQXFCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUMvRCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNqQyxXQUFXLEVBQUUsS0FBSztZQUNsQixPQUFPLEVBQUUsWUFBWTtZQUNyQixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7YUFDZjtZQUNELGdCQUFnQixFQUFFO2dCQUNoQjtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixRQUFRLEVBQUUsY0FBYyxDQUFDLEVBQUU7b0JBQzNCLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxFQUFFO2lCQUNoQzthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILGlEQUFpRDtRQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLHFDQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUM5QyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNqQyxZQUFZLEVBQUU7Z0JBQ1osZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUkscUJBQU0sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDekQsSUFBSSxFQUFFLGVBQWU7WUFDckIsa0JBQWtCLEVBQUUsb0JBQW9CO1lBQ3hDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzFCLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNqQyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFJLHVDQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUN4RCxJQUFJLEVBQUUsc0JBQXNCO1lBQzVCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNqQyxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxVQUFVO2FBQ2pCO1lBQ0Qsd0JBQXdCLEVBQUUsUUFBUTtZQUNsQyxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxtREFBcUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQy9ELElBQUksRUFBRSxtQkFBbUI7WUFDekIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZUFBZSxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ2pDLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLEdBQUcsRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsZ0JBQWdCLEVBQUU7Z0JBQ2hCO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLFFBQVEsRUFBRSxjQUFjLENBQUMsRUFBRTtvQkFDM0IsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLEVBQUU7aUJBQ2hDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2QyxJQUFJLG9FQUErQixDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUM5RCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNqQyxjQUFjLEVBQUUsV0FBVztZQUMzQixzQkFBc0IsRUFBRTtnQkFDdEIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2FBQ2hCO1lBQ0Qsc0JBQXNCLEVBQUU7Z0JBQ3RCLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTthQUNoQjtZQUNELFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDcEIsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFNBQVMsRUFBRSxRQUFRO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsdURBQXVEO1FBQ3ZELElBQUksb0VBQStCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzlELElBQUksRUFBRSxrQkFBa0I7WUFDeEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsZUFBZSxFQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ2pDLGNBQWMsRUFBRSxXQUFXO1lBQzNCLHNCQUFzQixFQUFFO2dCQUN0QixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7YUFDaEI7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFLHFCQUFxQjtZQUNoQyxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQixPQUFPLEVBQUUsY0FBYztnQkFDdkIsU0FBUyxFQUFFLFFBQVE7YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtJQUN4RSxxRkFBcUY7SUFDckYscUZBQXFGO0lBQ3JGLHVHQUF1RztJQUN2RyxFQUFFLENBQUMsMkVBQTJFLEVBQUUsR0FBRyxFQUFFO1FBQ25GLE1BQU0sR0FBRyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLDJDQUEyQyxDQUMzRCxHQUFHLEVBQ0gseUNBQXlDLENBQzFDLENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxlQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLGFBQWE7UUFDYiwwRUFBMEU7UUFDMUUsbUVBQW1FO1FBQ25FLGdEQUFnRDtRQUNoRCxJQUFBLHVDQUE2QixFQUFDLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLDhEQUE4RDtBQUM3RSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWdyYXRpb24gdGVzdCBmb3IgQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblxuICpcbiAqIFRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgYmFzaWMgdXNhZ2Ugb2YgdGhlIFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gY29uc3RydWN0XG4gKiBieSBjcmVhdGluZyBhIFZOZXQtdG8tVk5ldCBjb25uZWN0aW9uIGJldHdlZW4gdHdvIHZpcnR1YWwgbmV0d29yayBnYXRld2F5cy5cbiAqXG4gKiBOb3RlOiBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheXMgdGFrZSAzMC00NSBtaW51dGVzIGVhY2ggdG8gcHJvdmlzaW9uLFxuICogc28gdGhpcyB0ZXN0IGhhcyBhbiBleHRlbmRlZCB0aW1lb3V0ICh+MTIwIG1pbnV0ZXMgdG90YWwpLlxuICpcbiAqIFJ1biB3aXRoOiBucG0gcnVuIGludGVncmF0aW9uOm5vc3RyZWFtXG4gKi9cblxuaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCBcImNka3RmL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCB7IFB1YmxpY0lQQWRkcmVzcyB9IGZyb20gXCIuLi8uLi9henVyZS1wdWJsaWNpcGFkZHJlc3NcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiLi4vLi4vYXp1cmUtcmVzb3VyY2Vncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIi4uLy4uL2F6dXJlLXN1Ym5ldFwiO1xuaW1wb3J0IHsgVmlydHVhbE5ldHdvcmsgfSBmcm9tIFwiLi4vLi4vYXp1cmUtdmlydHVhbG5ldHdvcmtcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrR2F0ZXdheSB9IGZyb20gXCIuLi8uLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXlcIjtcbmltcG9ydCB7IEF6YXBpUHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvcHJvdmlkZXJzLWF6YXBpL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrLCBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveSB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5pbXBvcnQgeyBUZXN0UnVuTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vdGVzdGluZy9saWIvbWV0YWRhdGFcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gfSBmcm9tIFwiLi4vbGliL3ZpcnR1YWwtbmV0d29yay1nYXRld2F5LWNvbm5lY3Rpb25cIjtcblxuLy8gR2VuZXJhdGUgdW5pcXVlIHRlc3QgcnVuIG1ldGFkYXRhIGZvciB0aGlzIHRlc3Qgc3VpdGVcbmNvbnN0IHRlc3RNZXRhZGF0YSA9IG5ldyBUZXN0UnVuTWV0YWRhdGEoXG4gIFwidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi1pbnRlZ3JhdGlvblwiLFxuICB7XG4gICAgbWF4QWdlSG91cnM6IDQsXG4gIH0sXG4pO1xuXG4vKipcbiAqIEV4YW1wbGUgc3RhY2sgZGVtb25zdHJhdGluZyBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIHVzYWdlXG4gKiBDcmVhdGVzIHR3byBnYXRld2F5cyBhbmQgYSBWTmV0LXRvLVZOZXQgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZW1cbiAqL1xuY2xhc3MgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbkV4YW1wbGVTdGFjayBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXN0UnVuT3B0aW9uczoge1xuICAgICAgICBtYXhBZ2VIb3VyczogdGVzdE1ldGFkYXRhLm1heEFnZUhvdXJzLFxuICAgICAgICBhdXRvQ2xlYW51cDogdGVzdE1ldGFkYXRhLmF1dG9DbGVhbnVwLFxuICAgICAgICBjbGVhbnVwUG9saWN5OiB0ZXN0TWV0YWRhdGEuY2xlYW51cFBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBDb25maWd1cmUgQVpBUEkgcHJvdmlkZXJcbiAgICBuZXcgQXphcGlQcm92aWRlcih0aGlzLCBcImF6YXBpXCIsIHt9KTtcblxuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBuYW1lc1xuICAgIGNvbnN0IHJnTmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHNcIixcbiAgICAgIFwiY29ublwiLFxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgcmVzb3VyY2UgZ3JvdXBcbiAgICBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICBuYW1lOiByZ05hbWUsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgLi4udGhpcy5zeXN0ZW1UYWdzKCksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gPT09PT0gRmlyc3QgVmlydHVhbCBOZXR3b3JrIGFuZCBHYXRld2F5ID09PT09XG4gICAgY29uc3Qgdm5ldDEgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0MVwiLCB7XG4gICAgICBuYW1lOiBcInZuZXQxLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBhZGRyZXNzU3BhY2U6IHtcbiAgICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4xLjAuMC8xNlwiXSxcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdhdGV3YXlTdWJuZXQxID0gbmV3IFN1Ym5ldCh0aGlzLCBcImdhdGV3YXktc3VibmV0MVwiLCB7XG4gICAgICBuYW1lOiBcIkdhdGV3YXlTdWJuZXRcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogXCJ2bmV0MS1jb25uLWV4YW1wbGVcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrSWQ6IHZuZXQxLmlkLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgYWRkcmVzc1ByZWZpeDogXCIxMC4xLjEuMC8yNFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAxID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpYy1pcDFcIiwge1xuICAgICAgbmFtZTogXCJwaXAtZ2F0ZXdheTEtZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogXCJTdGFuZGFyZFwiLFxuICAgICAgICB0aWVyOiBcIlJlZ2lvbmFsXCIsXG4gICAgICB9LFxuICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnYXRld2F5MSA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXkodGhpcywgXCJ2cG4tZ2F0ZXdheTFcIiwge1xuICAgICAgbmFtZTogXCJ2bmcxLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBnYXRld2F5VHlwZTogXCJWcG5cIixcbiAgICAgIHZwblR5cGU6IFwiUm91dGVCYXNlZFwiLFxuICAgICAgc2t1OiB7XG4gICAgICAgIG5hbWU6IFwiVnBuR3cxXCIsXG4gICAgICAgIHRpZXI6IFwiVnBuR3cxXCIsXG4gICAgICB9LFxuICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgc3VibmV0SWQ6IGdhdGV3YXlTdWJuZXQxLmlkLFxuICAgICAgICAgIHB1YmxpY0lQQWRkcmVzc0lkOiBwdWJsaWNJcDEuaWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyA9PT09PSBTZWNvbmQgVmlydHVhbCBOZXR3b3JrIGFuZCBHYXRld2F5ID09PT09XG4gICAgY29uc3Qgdm5ldDIgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0MlwiLCB7XG4gICAgICBuYW1lOiBcInZuZXQyLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBhZGRyZXNzU3BhY2U6IHtcbiAgICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4yLjAuMC8xNlwiXSxcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdhdGV3YXlTdWJuZXQyID0gbmV3IFN1Ym5ldCh0aGlzLCBcImdhdGV3YXktc3VibmV0MlwiLCB7XG4gICAgICBuYW1lOiBcIkdhdGV3YXlTdWJuZXRcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogXCJ2bmV0Mi1jb25uLWV4YW1wbGVcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrSWQ6IHZuZXQyLmlkLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgYWRkcmVzc1ByZWZpeDogXCIxMC4yLjEuMC8yNFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAyID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpYy1pcDJcIiwge1xuICAgICAgbmFtZTogXCJwaXAtZ2F0ZXdheTItZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogXCJTdGFuZGFyZFwiLFxuICAgICAgICB0aWVyOiBcIlJlZ2lvbmFsXCIsXG4gICAgICB9LFxuICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnYXRld2F5MiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXkodGhpcywgXCJ2cG4tZ2F0ZXdheTJcIiwge1xuICAgICAgbmFtZTogXCJ2bmcyLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBnYXRld2F5VHlwZTogXCJWcG5cIixcbiAgICAgIHZwblR5cGU6IFwiUm91dGVCYXNlZFwiLFxuICAgICAgc2t1OiB7XG4gICAgICAgIG5hbWU6IFwiVnBuR3cxXCIsXG4gICAgICAgIHRpZXI6IFwiVnBuR3cxXCIsXG4gICAgICB9LFxuICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgc3VibmV0SWQ6IGdhdGV3YXlTdWJuZXQyLmlkLFxuICAgICAgICAgIHB1YmxpY0lQQWRkcmVzc0lkOiBwdWJsaWNJcDIuaWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyA9PT09PSBWTmV0LXRvLVZOZXQgQ29ubmVjdGlvbnMgPT09PT1cbiAgICAvLyBDb25uZWN0aW9uIGZyb20gZ2F0ZXdheTEgdG8gZ2F0ZXdheTJcbiAgICBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcInZuZXQtdG8tdm5ldC1jb25uMVwiLCB7XG4gICAgICBuYW1lOiBcImNvbm4xdG8yLWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IFwiVm5ldDJWbmV0XCIsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiBnYXRld2F5MS5pZCxcbiAgICAgIH0sXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyOiB7XG4gICAgICAgIGlkOiBnYXRld2F5Mi5pZCxcbiAgICAgIH0sXG4gICAgICBzaGFyZWRLZXk6IFwiU2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgZXhhbXBsZTogXCJ2bmV0LXRvLXZuZXRcIixcbiAgICAgICAgZGlyZWN0aW9uOiBcIjEtdG8tMlwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENvbm5lY3Rpb24gZnJvbSBnYXRld2F5MiB0byBnYXRld2F5MSAoYmlkaXJlY3Rpb25hbClcbiAgICBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcInZuZXQtdG8tdm5ldC1jb25uMlwiLCB7XG4gICAgICBuYW1lOiBcImNvbm4ydG8xLWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IFwiVm5ldDJWbmV0XCIsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiBnYXRld2F5Mi5pZCxcbiAgICAgIH0sXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyOiB7XG4gICAgICAgIGlkOiBnYXRld2F5MS5pZCxcbiAgICAgIH0sXG4gICAgICBzaGFyZWRLZXk6IFwiU2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgZXhhbXBsZTogXCJ2bmV0LXRvLXZuZXRcIixcbiAgICAgICAgZGlyZWN0aW9uOiBcIjItdG8tMVwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5kZXNjcmliZS5za2lwKFwiVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBJbnRlZ3JhdGlvbiBUZXN0XCIsICgpID0+IHtcbiAgLy8gTk9URTogVGhpcyB0ZXN0IHRha2VzIDYwLTkwIG1pbnV0ZXMgZHVlIHRvIGdhdGV3YXkgcHJvdmlzaW9uaW5nIHRpbWUgKDIgZ2F0ZXdheXMpLlxuICAvLyBUaGlzIHRlc3QgcHJvdmlzaW9ucyB0d28gY29tcGxldGUgVlBOIGdhdGV3YXlzIGFuZCB0ZXN0cyBWTmV0LXRvLVZOZXQgY29ubmVjdGlvbnMuXG4gIC8vIFNLSVBQRUQgQlkgREVGQVVMVDogUnVuIGV4cGxpY2l0bHkgd2l0aDogamVzdCAtLXRlc3ROYW1lUGF0dGVybj1cIlZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25cIlxuICBpdChcInNob3VsZCBkZXBsb3kgZ2F0ZXdheXMgYW5kIGNvbm5lY3Rpb25zLCB2YWxpZGF0ZSBpZGVtcG90ZW5jeSwgYW5kIGNsZWFudXBcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbkV4YW1wbGVTdGFjayhcbiAgICAgIGFwcCxcbiAgICAgIFwidGVzdC12aXJ0dWFsLW5ldHdvcmstZ2F0ZXdheS1jb25uZWN0aW9uXCIsXG4gICAgKTtcbiAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3RpbmcuZnVsbFN5bnRoKHN0YWNrKTtcblxuICAgIC8vIFRoaXMgd2lsbDpcbiAgICAvLyAxLiBSdW4gdGVycmFmb3JtIGFwcGx5IHRvIGRlcGxveSByZXNvdXJjZXMgKDIgZ2F0ZXdheXMgKyAyIGNvbm5lY3Rpb25zKVxuICAgIC8vIDIuIFJ1biB0ZXJyYWZvcm0gcGxhbiB0byBjaGVjayBpZGVtcG90ZW5jeSAobm8gY2hhbmdlcyBleHBlY3RlZClcbiAgICAvLyAzLiBSdW4gdGVycmFmb3JtIGRlc3Ryb3kgdG8gY2xlYW51cCByZXNvdXJjZXNcbiAgICBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveShzeW50aGVzaXplZCwgeyB2ZXJpZnlDbGVhbnVwOiB0cnVlIH0pO1xuICB9LCA3MjAwMDAwKTsgLy8gMTIwIG1pbnV0ZXMgdGltZW91dCAoMiBob3VycykgZm9yIGR1YWwgZ2F0ZXdheSBwcm92aXNpb25pbmdcbn0pO1xuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5pbnRlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uL3Rlc3QvdmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi5pbnRlZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFFSCxpQ0FBZ0M7QUFFaEMsMkNBQXlDO0FBQ3pDLHVFQUE4RDtBQUM5RCxtRUFBMEQ7QUFDMUQscURBQTRDO0FBQzVDLHFFQUE0RDtBQUM1RCxtRkFBMEU7QUFDMUUsa0ZBQW9GO0FBQ3BGLDJDQUE2RTtBQUM3RSx5REFBNkQ7QUFDN0Qsa0dBQTRGO0FBRTVGLHdEQUF3RDtBQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLDBCQUFlLENBQ3RDLGdEQUFnRCxFQUNoRDtJQUNFLFdBQVcsRUFBRSxDQUFDO0NBQ2YsQ0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSwyQ0FBNEMsU0FBUSx1QkFBYTtJQUNyRSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLGNBQWMsRUFBRTtnQkFDZCxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQ3JDLFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVztnQkFDckMsYUFBYSxFQUFFLFlBQVksQ0FBQyxhQUFhO2FBQzFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCO1FBQzNCLElBQUksd0JBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLHdCQUF3QjtRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQ3RDLG9DQUFvQyxFQUNwQyxNQUFNLENBQ1AsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixNQUFNLGFBQWEsR0FB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U0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLGFBQWE7UUFDYiwwRUFBMEU7UUFDMUUsbUVBQW1FO1FBQ25FLGdEQUFnRDtRQUNoRCxJQUFBLHVDQUE2QixFQUFDLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLDhEQUE4RDtBQUM3RSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWdyYXRpb24gdGVzdCBmb3IgQXp1cmUgVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvblxuICpcbiAqIFRoaXMgdGVzdCBkZW1vbnN0cmF0ZXMgYmFzaWMgdXNhZ2Ugb2YgdGhlIFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gY29uc3RydWN0XG4gKiBieSBjcmVhdGluZyBhIFZOZXQtdG8tVk5ldCBjb25uZWN0aW9uIGJldHdlZW4gdHdvIHZpcnR1YWwgbmV0d29yayBnYXRld2F5cy5cbiAqXG4gKiBOb3RlOiBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheXMgdGFrZSAzMC00NSBtaW51dGVzIGVhY2ggdG8gcHJvdmlzaW9uLFxuICogc28gdGhpcyB0ZXN0IGhhcyBhbiBleHRlbmRlZCB0aW1lb3V0ICh+MTIwIG1pbnV0ZXMgdG90YWwpLlxuICpcbiAqIFJ1biB3aXRoOiBucG0gcnVuIGludGVncmF0aW9uOm5vc3RyZWFtXG4gKi9cblxuaW1wb3J0IHsgVGVzdGluZyB9IGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCBcImNka3RuL2xpYi90ZXN0aW5nL2FkYXB0ZXJzL2plc3RcIjtcbmltcG9ydCB7IFB1YmxpY0lQQWRkcmVzcyB9IGZyb20gXCIuLi8uLi9henVyZS1wdWJsaWNpcGFkZHJlc3NcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiLi4vLi4vYXp1cmUtcmVzb3VyY2Vncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIi4uLy4uL2F6dXJlLXN1Ym5ldFwiO1xuaW1wb3J0IHsgVmlydHVhbE5ldHdvcmsgfSBmcm9tIFwiLi4vLi4vYXp1cmUtdmlydHVhbG5ldHdvcmtcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrR2F0ZXdheSB9IGZyb20gXCIuLi8uLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXlcIjtcbmltcG9ydCB7IEF6YXBpUHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvcHJvdmlkZXJzLWF6YXBpL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrLCBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveSB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5pbXBvcnQgeyBUZXN0UnVuTWV0YWRhdGEgfSBmcm9tIFwiLi4vLi4vdGVzdGluZy9saWIvbWV0YWRhdGFcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrR2F0ZXdheUNvbm5lY3Rpb24gfSBmcm9tIFwiLi4vbGliL3ZpcnR1YWwtbmV0d29yay1nYXRld2F5LWNvbm5lY3Rpb25cIjtcblxuLy8gR2VuZXJhdGUgdW5pcXVlIHRlc3QgcnVuIG1ldGFkYXRhIGZvciB0aGlzIHRlc3Qgc3VpdGVcbmNvbnN0IHRlc3RNZXRhZGF0YSA9IG5ldyBUZXN0UnVuTWV0YWRhdGEoXG4gIFwidmlydHVhbC1uZXR3b3JrLWdhdGV3YXktY29ubmVjdGlvbi1pbnRlZ3JhdGlvblwiLFxuICB7XG4gICAgbWF4QWdlSG91cnM6IDQsXG4gIH0sXG4pO1xuXG4vKipcbiAqIEV4YW1wbGUgc3RhY2sgZGVtb25zdHJhdGluZyBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBDb25uZWN0aW9uIHVzYWdlXG4gKiBDcmVhdGVzIHR3byBnYXRld2F5cyBhbmQgYSBWTmV0LXRvLVZOZXQgY29ubmVjdGlvbiBiZXR3ZWVuIHRoZW1cbiAqL1xuY2xhc3MgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbkV4YW1wbGVTdGFjayBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXN0UnVuT3B0aW9uczoge1xuICAgICAgICBtYXhBZ2VIb3VyczogdGVzdE1ldGFkYXRhLm1heEFnZUhvdXJzLFxuICAgICAgICBhdXRvQ2xlYW51cDogdGVzdE1ldGFkYXRhLmF1dG9DbGVhbnVwLFxuICAgICAgICBjbGVhbnVwUG9saWN5OiB0ZXN0TWV0YWRhdGEuY2xlYW51cFBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBDb25maWd1cmUgQVpBUEkgcHJvdmlkZXJcbiAgICBuZXcgQXphcGlQcm92aWRlcih0aGlzLCBcImF6YXBpXCIsIHt9KTtcblxuICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBuYW1lc1xuICAgIGNvbnN0IHJnTmFtZSA9IHRoaXMuZ2VuZXJhdGVSZXNvdXJjZU5hbWUoXG4gICAgICBcIk1pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHNcIixcbiAgICAgIFwiY29ublwiLFxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgcmVzb3VyY2UgZ3JvdXBcbiAgICBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICBuYW1lOiByZ05hbWUsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgLi4udGhpcy5zeXN0ZW1UYWdzKCksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gPT09PT0gRmlyc3QgVmlydHVhbCBOZXR3b3JrIGFuZCBHYXRld2F5ID09PT09XG4gICAgY29uc3Qgdm5ldDEgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0MVwiLCB7XG4gICAgICBuYW1lOiBcInZuZXQxLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBhZGRyZXNzU3BhY2U6IHtcbiAgICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4xLjAuMC8xNlwiXSxcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdhdGV3YXlTdWJuZXQxID0gbmV3IFN1Ym5ldCh0aGlzLCBcImdhdGV3YXktc3VibmV0MVwiLCB7XG4gICAgICBuYW1lOiBcIkdhdGV3YXlTdWJuZXRcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogXCJ2bmV0MS1jb25uLWV4YW1wbGVcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrSWQ6IHZuZXQxLmlkLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgYWRkcmVzc1ByZWZpeDogXCIxMC4xLjEuMC8yNFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAxID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpYy1pcDFcIiwge1xuICAgICAgbmFtZTogXCJwaXAtZ2F0ZXdheTEtZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogXCJTdGFuZGFyZFwiLFxuICAgICAgICB0aWVyOiBcIlJlZ2lvbmFsXCIsXG4gICAgICB9LFxuICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnYXRld2F5MSA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXkodGhpcywgXCJ2cG4tZ2F0ZXdheTFcIiwge1xuICAgICAgbmFtZTogXCJ2bmcxLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBnYXRld2F5VHlwZTogXCJWcG5cIixcbiAgICAgIHZwblR5cGU6IFwiUm91dGVCYXNlZFwiLFxuICAgICAgc2t1OiB7XG4gICAgICAgIG5hbWU6IFwiVnBuR3cxXCIsXG4gICAgICAgIHRpZXI6IFwiVnBuR3cxXCIsXG4gICAgICB9LFxuICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgc3VibmV0SWQ6IGdhdGV3YXlTdWJuZXQxLmlkLFxuICAgICAgICAgIHB1YmxpY0lQQWRkcmVzc0lkOiBwdWJsaWNJcDEuaWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyA9PT09PSBTZWNvbmQgVmlydHVhbCBOZXR3b3JrIGFuZCBHYXRld2F5ID09PT09XG4gICAgY29uc3Qgdm5ldDIgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0MlwiLCB7XG4gICAgICBuYW1lOiBcInZuZXQyLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBhZGRyZXNzU3BhY2U6IHtcbiAgICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4yLjAuMC8xNlwiXSxcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnRoaXMuc3lzdGVtVGFncygpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdhdGV3YXlTdWJuZXQyID0gbmV3IFN1Ym5ldCh0aGlzLCBcImdhdGV3YXktc3VibmV0MlwiLCB7XG4gICAgICBuYW1lOiBcIkdhdGV3YXlTdWJuZXRcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogXCJ2bmV0Mi1jb25uLWV4YW1wbGVcIixcbiAgICAgIHZpcnR1YWxOZXR3b3JrSWQ6IHZuZXQyLmlkLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgYWRkcmVzc1ByZWZpeDogXCIxMC4yLjEuMC8yNFwiLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGljSXAyID0gbmV3IFB1YmxpY0lQQWRkcmVzcyh0aGlzLCBcInB1YmxpYy1pcDJcIiwge1xuICAgICAgbmFtZTogXCJwaXAtZ2F0ZXdheTItZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogXCJTdGFuZGFyZFwiLFxuICAgICAgICB0aWVyOiBcIlJlZ2lvbmFsXCIsXG4gICAgICB9LFxuICAgICAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiBcIlN0YXRpY1wiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnYXRld2F5MiA9IG5ldyBWaXJ0dWFsTmV0d29ya0dhdGV3YXkodGhpcywgXCJ2cG4tZ2F0ZXdheTJcIiwge1xuICAgICAgbmFtZTogXCJ2bmcyLWNvbm4tZXhhbXBsZVwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwSWQ6IHJlc291cmNlR3JvdXAuaWQsXG4gICAgICBnYXRld2F5VHlwZTogXCJWcG5cIixcbiAgICAgIHZwblR5cGU6IFwiUm91dGVCYXNlZFwiLFxuICAgICAgc2t1OiB7XG4gICAgICAgIG5hbWU6IFwiVnBuR3cxXCIsXG4gICAgICAgIHRpZXI6IFwiVnBuR3cxXCIsXG4gICAgICB9LFxuICAgICAgaXBDb25maWd1cmF0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgc3VibmV0SWQ6IGdhdGV3YXlTdWJuZXQyLmlkLFxuICAgICAgICAgIHB1YmxpY0lQQWRkcmVzc0lkOiBwdWJsaWNJcDIuaWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyA9PT09PSBWTmV0LXRvLVZOZXQgQ29ubmVjdGlvbnMgPT09PT1cbiAgICAvLyBDb25uZWN0aW9uIGZyb20gZ2F0ZXdheTEgdG8gZ2F0ZXdheTJcbiAgICBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcInZuZXQtdG8tdm5ldC1jb25uMVwiLCB7XG4gICAgICBuYW1lOiBcImNvbm4xdG8yLWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IFwiVm5ldDJWbmV0XCIsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiBnYXRld2F5MS5pZCxcbiAgICAgIH0sXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyOiB7XG4gICAgICAgIGlkOiBnYXRld2F5Mi5pZCxcbiAgICAgIH0sXG4gICAgICBzaGFyZWRLZXk6IFwiU2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgZXhhbXBsZTogXCJ2bmV0LXRvLXZuZXRcIixcbiAgICAgICAgZGlyZWN0aW9uOiBcIjEtdG8tMlwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENvbm5lY3Rpb24gZnJvbSBnYXRld2F5MiB0byBnYXRld2F5MSAoYmlkaXJlY3Rpb25hbClcbiAgICBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbih0aGlzLCBcInZuZXQtdG8tdm5ldC1jb25uMlwiLCB7XG4gICAgICBuYW1lOiBcImNvbm4ydG8xLWV4YW1wbGVcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IFwiVm5ldDJWbmV0XCIsXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkxOiB7XG4gICAgICAgIGlkOiBnYXRld2F5Mi5pZCxcbiAgICAgIH0sXG4gICAgICB2aXJ0dWFsTmV0d29ya0dhdGV3YXkyOiB7XG4gICAgICAgIGlkOiBnYXRld2F5MS5pZCxcbiAgICAgIH0sXG4gICAgICBzaGFyZWRLZXk6IFwiU2VjdXJlU2hhcmVkS2V5MTIzIVwiLFxuICAgICAgdGFnczoge1xuICAgICAgICAuLi50aGlzLnN5c3RlbVRhZ3MoKSxcbiAgICAgICAgZXhhbXBsZTogXCJ2bmV0LXRvLXZuZXRcIixcbiAgICAgICAgZGlyZWN0aW9uOiBcIjItdG8tMVwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5kZXNjcmliZS5za2lwKFwiVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgQ29ubmVjdGlvbiBJbnRlZ3JhdGlvbiBUZXN0XCIsICgpID0+IHtcbiAgLy8gTk9URTogVGhpcyB0ZXN0IHRha2VzIDYwLTkwIG1pbnV0ZXMgZHVlIHRvIGdhdGV3YXkgcHJvdmlzaW9uaW5nIHRpbWUgKDIgZ2F0ZXdheXMpLlxuICAvLyBUaGlzIHRlc3QgcHJvdmlzaW9ucyB0d28gY29tcGxldGUgVlBOIGdhdGV3YXlzIGFuZCB0ZXN0cyBWTmV0LXRvLVZOZXQgY29ubmVjdGlvbnMuXG4gIC8vIFNLSVBQRUQgQlkgREVGQVVMVDogUnVuIGV4cGxpY2l0bHkgd2l0aDogamVzdCAtLXRlc3ROYW1lUGF0dGVybj1cIlZpcnR1YWwgTmV0d29yayBHYXRld2F5IENvbm5lY3Rpb25cIlxuICBpdChcInNob3VsZCBkZXBsb3kgZ2F0ZXdheXMgYW5kIGNvbm5lY3Rpb25zLCB2YWxpZGF0ZSBpZGVtcG90ZW5jeSwgYW5kIGNsZWFudXBcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgVmlydHVhbE5ldHdvcmtHYXRld2F5Q29ubmVjdGlvbkV4YW1wbGVTdGFjayhcbiAgICAgIGFwcCxcbiAgICAgIFwidGVzdC12aXJ0dWFsLW5ldHdvcmstZ2F0ZXdheS1jb25uZWN0aW9uXCIsXG4gICAgKTtcbiAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3RpbmcuZnVsbFN5bnRoKHN0YWNrKTtcblxuICAgIC8vIFRoaXMgd2lsbDpcbiAgICAvLyAxLiBSdW4gdGVycmFmb3JtIGFwcGx5IHRvIGRlcGxveSByZXNvdXJjZXMgKDIgZ2F0ZXdheXMgKyAyIGNvbm5lY3Rpb25zKVxuICAgIC8vIDIuIFJ1biB0ZXJyYWZvcm0gcGxhbiB0byBjaGVjayBpZGVtcG90ZW5jeSAobm8gY2hhbmdlcyBleHBlY3RlZClcbiAgICAvLyAzLiBSdW4gdGVycmFmb3JtIGRlc3Ryb3kgdG8gY2xlYW51cCByZXNvdXJjZXNcbiAgICBUZXJyYWZvcm1BcHBseUNoZWNrQW5kRGVzdHJveShzeW50aGVzaXplZCwgeyB2ZXJpZnlDbGVhbnVwOiB0cnVlIH0pO1xuICB9LCA3MjAwMDAwKTsgLy8gMTIwIG1pbnV0ZXMgdGltZW91dCAoMiBob3VycykgZm9yIGR1YWwgZ2F0ZXdheSBwcm92aXNpb25pbmdcbn0pO1xuIl19
|